Skip to content

This API is a challenge to ZRP. The Pokemon API is an application that uses Node, with the purpose to achieve my goal which is to become a ZRPenha💙. The API retrieves Pokemon info and returns the abilities in alphabetical order. Made with Node, Typescript, Docker and Express.

License

Notifications You must be signed in to change notification settings

leonardo-jesus/ts-node-pokemon-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pokemon API ⚡

Project   |    Must-Have   |    Bonus   |    Improvement Points   |    AWS Architecture   |    Resources   |    Technologies   |    Requirements   |    How to Run   |    Work Environment   |    How to contribute   |    License

PRs welcome! License


💻 Project

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.

✅ Must-Have

✔️ 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.

🎉 Bonus

💪 Improvement Points

  • Implement AWS architecture with Terraform
  • Improve test coverage
  • Implement logging
  • Add rate limiting

📐 AWS Architecture

Output

📦 Resources

🚀 Technologies

This project was developed with the following technologies:

🔧 Requirements

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.

🏃 How to Run

  1. Make a clone;
  2. Open the project on your terminal;
  3. Run cp .env.example .env to copy environment variables
  4. 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.

⚙️ Work Environment

  • 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

🤔 How to contribute

  • 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.

📝 License

This project is under License MIT. See the documentation LICENSE for more details.


Developed by Leonardo Jesus ©️

About

This API is a challenge to ZRP. The Pokemon API is an application that uses Node, with the purpose to achieve my goal which is to become a ZRPenha💙. The API retrieves Pokemon info and returns the abilities in alphabetical order. Made with Node, Typescript, Docker and Express.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published