You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
927 B
Markdown
30 lines
927 B
Markdown
# Mx Leaderboard API
|
|
|
|
Basic leaderboard api using next js, mariadb and typescript.
|
|
|
|
For API design, refer to `API.md`.
|
|
|
|
## Architecture
|
|
|
|
Nest Js is a "skeleton" MVC framework with the application being divided into modules. This project contains 3 modules namely, auth, user, and rank, for authentication, user model related, and rank model related APIs respectively. Validation of incoming data is enabled globally.
|
|
|
|
Each module has a model service, and a controller that handles routes with some having model definitions as well.
|
|
|
|
This project has a very basic architecure of the following:
|
|
|
|
user ---> this api service <---> mariadb
|
|
|
|
## Development
|
|
|
|
- Copy `.env.example` to `.env`, and add relevant information
|
|
- `pnpm install`
|
|
- `pnpm start:dev`
|
|
|
|
## Deployment
|
|
|
|
- Copy `.env.example` to `.env`, and add relevant information
|
|
- `pnpm run i`
|
|
- `pnpm run build`
|
|
- `pnpm prune --production`
|
|
- `node dist/main.js --host 0.0.0.0`
|