Client/server training management system solution.
- Integrate A.I. to help trough tasks.
This project is split in multiple projects/repositories.
-
Minerva This repository contains all the related projects, as well as the necessary infrastructure for running this project.
-
Minerva Design Guidelines Logos, typography and color palettes guidelines.
-
Entity relationship Model (RM) Business Analysis of the basic requirement of the system.
-
Relational Modal (RM) Database structure of the system.
-
Minerva API Specification OpenAPI specification describing how to interact with the system.
-
Minerva API Server application exposing an API that implement the above specification.
-
Minerva Web Application Web application that consume the above API to interact with the system.
-
Minerva Website Business website that provide a catalogue of trainings that you can enrol on.
Here are some of the languages, formats, frameworks, and technologies used trough this project.
- JavaScript
- TypeScript
- HTML
- CSS
- TailwindCSS
- Vite
- PNPM
- React
- Redux
- Node.js
- Express.js
- Sequelize
- OpenAPI
- OpenAI
- Docker
- NGINX
The stack provides three services that require environment variables in order to function properly.
Create an .env file and fill it with the following configuration:
# Minerva Environment variables
# Node
NODE_ENV=development
# Server Application
API_PORT=3000
DB_SERVER=localhost
DB_ROOT_PASSWORD=localhost
DB_DATABASE=minerva
DB_USERNAME=minerva
DB_PASSWORD=minerva
DB_PORT=3306
JWT_SECRET=d7a481461577ba4c3c4c6946cca7204b
JWT_EXPIRE=1d
JWT_ISSUER=minerva
JWT_AUDIENCE=web-minerva
MAIL_SERVER=xxx
MAIL_USERNAME=xxx
MAIL_PASSWORD=xxx
MAIL_VALIDATION=false
OPENAI_API_KEY=d7a481461577ba4c3c4c6946cca7204b
# Web Application
VITE_API_URL=http://localhost:3000
# Website
API_URL=http://localhost:3000Verify that the ports specified,
API_PORTandDB_PORTare not already in use. Create an account on the OpenAI platform to benefit from the integration of A.I. in the system. 🤣
Start all the services with the provided configuration
docker compose --env-file .env up Now the system must be up and running!
You can now access the services at the following url:
- Website @ http://localhost:80
- Web Application @ http://localhost:8080
- API @ http://localhost:8090
Use the Minerva main repository that contains the Docker infrastructure.
https://github.com/alexandrelamberty/minervaYou can run any service needed for the server application or web application.
- mysql MySQL instance
- web Admin web application
- api API server application
Start the specified service with the provided configuration
docker compose --env-file .env up service_name