Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fr13n8/todo-app
Simple REST todo API server in GO ✔️
https://github.com/fr13n8/todo-app
crud docker docker-compose go golang graceful-shutdown jwt jwt-go rest rest-api restful-api service todo todoapp todolist todolist-app
Last synced: 13 days ago
JSON representation
Simple REST todo API server in GO ✔️
- Host: GitHub
- URL: https://github.com/fr13n8/todo-app
- Owner: fr13n8
- Created: 2021-05-24T11:45:15.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-06-20T19:06:42.000Z (over 3 years ago)
- Last Synced: 2024-11-14T16:05:48.003Z (about 1 month ago)
- Topics: crud, docker, docker-compose, go, golang, graceful-shutdown, jwt, jwt-go, rest, rest-api, restful-api, service, todo, todoapp, todolist, todolist-app
- Language: Go
- Homepage: https://go-todo-app-backend.herokuapp.com/swagger/index.html
- Size: 196 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# REST API TODO in Go
## Development tools and principles
- Go Web Applications following the REST API Design
- Working with the framework gin-gonic/gin
- The Clean Architecture approach to building an application structure. Dependency injection technique
- Working with Postgres DB. Running from Docker. Generation of migration files
- Application configuration using the library spf13/viper. Working with environment variables
- Working with BD using the library: sqlx
- Auth with JWT(get and refresh) and middleware
- Write SQL queries
- Graceful Shutdown### DEMO
todo-app### How to run
```properties
make build && make run
```If app startet first time need to run migrations
```properties
make migrate
```### All commands
- Build
```properties
make build
```
- Run
```properties
make run
```
- Run Tests
```properties
make test
```
- Migrate up
```properties
make migrate_up
```
- Migrate down
```properties
make migrate_down
```
- Generate swagger documentation
```properties
make swag
```
- Generate mocks
```properties
cd pkg/service && go generate
```