API to manage our pokemon team using Express & MongoDB database to store our data.
- MongoDB
- Express
- NodeJS
- Identify ourselves
- Add Pokemon to our team
- Remove Pokemon from our team
- Switch Pokemon order on our team
- See our team
-
Credentials System
-
Add Pokemon to out team (POST /team/pokemon)
-
Remove Pokemon from our team (DELETE /team/pokemon/:id)
-
Switch Pokemon order on our team (PUT /team)
-
See our team (GET /team)
-
Authentication (POST /auth/login)
-
Express to create the server npm install express
-
Mocha and Chai for testing npm install -D mocha chai then modify package.json to add the following scripts:
"scripts": {
"test": "NODE_ENV=test ./node_modules/.bin/mocha **/**/*.test.js"
}
-
bcrypt to encrypt the password npm install bcrypt
-
uuid to generate unique ids npm install uuid
-
Passport for authentication in JWT npm install passport passport-local passport-http-bearer use jwt debugger to debug the token and see the payload
-
Mongoose for MongoDB npm install mongoose and npm install -D @types/mongoose to use typescript
-
Body-parser to parse the body of the request npm install body-parser
-
Axios to make http requests npm install axios
Use Postman Desktop to test the API
Or use curl in the terminal
npm install
npm start
npm run test
node app.js
- Express
- Mocha
- Chai
- bcrypt
- uuid
- Passport
- Mongoose
- Body-parser
- Axios
- Postman Desktop
- jwt debugger
- curl
- MongoDB
- NodeJS
- Add a Frontend (React, MERN Stack)
- Add a Dockerfile to run the app in a container
- Add a docker-compose.yml to run the app with a MongoDB container
- Add a CI/CD pipeline
This project is under the MIT license. See the LICENSE file for more details.