Project | Must-Have | Bonus | Improvement Points | AWS Architecture | Resources | Technologies | Requirements | How to Run | Work Environment | How to contribute | License
The Pokemon API is an application that uses Node and Typescript, with the purpose to achieve my goal which is to become a ZRPenha💙. The API retrieves Pokemon's info from PokeAPI and returns the abilities in alphetical order. Made with Node, Typescript, Docker and Express.
✔️ You should implement an application to retrieve pokemon' abilities from PokeAPI and return it in alphabetical order(This application must provide an HTTP REST API to attend the requirements).
✔️ You should create the architecture focusing on lower latency, higher avaliability and lower cost.
- API's Deploy on Fly.io
- API's Documentation at Postman
- Unit tests with Jest
- Integration tests with Supertest
- Project Environment using 🐳 Docker and Docker Compose
- Code linting with ESLint
- Code formatting with Prettier
- Implement AWS architecture with Terraform
- Improve test coverage
- Implement logging
- Add rate limiting
This project was developed with the following technologies:
To run this Node application, you will need to have only Docker and Docker Compose on your computer.
🐳 Docker allows you to create and manage containers that encapsulate your application and its dependencies.
Docker Compose is a tool that allows you to define and manage multi-container Docker applications. Docker Compose usually comes bundled with Docker, so if you have installed Docker using the official installer, Docker Compose should be included. You can verify its installation by running the command docker compose version
or docker-compose --version
in your terminal.
- Make a clone;
- Open the project on your terminal;
- Run
cp .env.example .env
to copy environment variables - Run
docker compose up
to run the server;
- By default the server will run at
localhost:3333
.
More informations at API's Documentation or import the Postman Collection.
- AMD Ryzen 5 3600, 16GB RAM, GTX 1660
- WSL 2 (Ubuntu 22.04.2 LTS)
- Visual Studio Code
- Docker version 23.0.5
- Docker Compose version 2.17.3
- Node 18.16.0
- Postman 10.15.4
- Git version 2.34.1
- Make a fork;
- Create a branch with your feature:
git checkout -b my-feature
; - Do commit with your changes:
git commit -m 'feat: My new feature'
; - Do a push for your branch:
git push origin my-feature
.
After the merge of your pull request was made, you can delete your branch.
This project is under License MIT. See the documentation LICENSE for more details.
Developed by Leonardo Jesus ©️