Categorygithub.com/gitkoDev/pokemon-api
module
0.0.0-20240329054035-5d6a96f373b6
Repository: https://github.com/gitkodev/pokemon-api.git
Documentation: pkg.go.dev

# README

Go Pokedex REST API

Nest Logo

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

Endpoints

API

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

Other

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

Tools used

  • App configuration   =>   Viper
  • Logging   =>   Logrus
  • Routing   =>   Chi
  • Database   =>   Postgres + pgx
  • Database migrations   =>   Goose
  • Containerization   =>   Docker + Docker Compose
  • Authentification and middleware   =>   JWT Go
  • Testing   =>   Sqlmock + Gomock + Testify

Installation

make initUp

Running the app

# rebuild containers
make build

# start the app
make run

# run psql utility
make startPsql

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author