This project is a full-stack web application that consists of 3 backend services, developed in Node.js using the Express framework, and 2 frontend applications, one for admin and other for user.
First backend - REST Service
- Exposes data from the database through RESTful endpoints.
- Implements CRUD operations for all entities in the database.
- Handles validation using Joi
- Implements user authentication.
- Uses MariaDB database.
Second backend - Authentication Service
- Provides user registration (API only).
- Implements authentication with JWT (API only).
- Handles user roles.
Third backend - Application Service
- Serves HTML and associated resources for the application GUI.
- Communicates with the REST service using fetch/ajax.
Admin Application (HTML + CSS)
- Interacts with the REST service from the backend for data access.
- Implements CRUD operations for all entities.
- Designs pages for listing, details, editing, etc., for each entity.
- Implements validation for user inputs.
User Application (Vue.js)
- Interacts with the REST service from the backend for data access.
- Uses Vue Router for navigation.
- Implements Vuex Store for state management.
- Uses Bootstrap Vue.
- Implements login and register views/routes.
git clone <repository_url>
1. Backend setup
- Api service setup
cd api-service
npm install
- App service setup
cd app-service
npm install
- Auth service setup
cd auth-service
npm install
2. Frontend setup
cd front
npm install --force
npm run serve