Mx hiring challenge
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.
 
 
Ayush Mukherjee 5243ff5d32 update readme 2 years ago
src add a throw for silent nest errors 2 years ago
test finish unit tests 2 years ago
.dockerignore add dockerignore and change dockerfile steps 2 years ago
.env.example init repo, finish user auth api 2 years ago
.eslintrc.js init repo, finish user auth api 2 years ago
.gitignore init repo, finish user auth api 2 years ago
.prettierrc init repo, finish user auth api 2 years ago
API.md add api docs 2 years ago
Dockerfile add dockerignore and change dockerfile steps 2 years ago
README.md update readme 2 years ago
docker-compose.yml change deploy command to use node directly instead 2 years ago
nest-cli.json init repo, finish user auth api 2 years ago
package.json init repo, finish user auth api 2 years ago
pnpm-lock.yaml init repo, finish user auth api 2 years ago
tsconfig.build.json init repo, finish user auth api 2 years ago
tsconfig.json init repo, finish user auth api 2 years ago

README.md

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