This is the small express API for Alvama project. Alvama project is what me and my teammate named our thesis to get our degree as Industrial Engineers.
- Express
- Prisma
I tried to really organized the project structure so it's easy to understand and easy to maintain. I also tried to use the best practices for the project structure.
├───prisma (Prisma ORM)
├───src
│ ├───classes
│ ├───http
│ │ ├───controllers (all controllers)
│ │ ├───middlewares (all middlewares)
│ │ └───requests (all request validation)
│ ├───services (Business Logic)
│ ├───types (TypeScript Types)
│ ├───utils (Helper Functions)
│ └───index.ts (Express App)
├───.env.example
├───.gitignore
├───.prettierrc.json
├───.eslintrc.json
├───tsconfig.json
├───package.json
└───README.md
Alvama is a lineal mathematical programming model to solve the fleet sizing problem in the public transport sector, built on Python using the PuLP library.
But, Alvama divides in three projects:
- Alvama Model
- Alvama GUI
- Alvama Server (Current)
The principal idea of this project is to provide a beautiful UI and an API for those people who want to use the model in their own projects.
The UI is an Electron + React + Vite project (is private for now, but I will publish it soon). The API is this project, a small express API that provides the model and the data to the UI.
This API is documented using Postman. You can find the documentation here.