Pokedex REST API allows users to keep track of caught pokemon and their stats: TYPE, HP, ATTACK, and DEFENSE. The API utilizes JWT authentification for additional security as well as a number of other tools (look below). The projects structure implements clean architecture and dependecy injection principles
- /v1/pokemon
=>POST=>Add pokemon - /v1/pokemon
=>GET=>Get all pokemon - /v1/pokemon/{id}
=>GET=>Get pokemon by id - /v1/pokemon/{id}
=>PUT=>Update pokemon by id - /v1/pokemon/{id}
=>DELETE=>Delete pokemon by id
- /health
=>GET=>Ping the database connection - /auth/sign-up
=>POST=>Create new pokemon trainer - /auth/sign-in
=>POST=>Sign in with existing profile to generate JWT authentification token
App configuration=> ViperLogging=> LogrusRouting=> ChiDatabase=> Postgres + pgxDatabase migrations=> GooseContainerization=> Docker + Docker ComposeAuthentification and middleware=> JWT GoTesting=> Sqlmock + Gomock + Testify
make initUp
# rebuild containers
make build
# start the app
make run
# run psql utility
make startPsql