Skip to content

0xvbetsun/todo-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Todo App

The project represents the configuration and setup basic server for TODO application with auto-testing and OpenAPI specification from postman's collection

CI GoReport license GitHub go.mod Go version of a Go module GoDoc

Prerequisites

  • Git
  • Docker
  • Docker Compose

How to Install

Clone from github and navigate to the project's folder

# HTTPS
git clone https://github.com/vbetsun/todo-app.git

# SSH
git clone git@github.com:vbetsun/todo-app.git

cd todo-app

How to Deploy

cp ./deployments/.env.example ./deployments/.env

change env variables for your needs

PORT=8000 # port for serving API
DOCS_PORT=8080 # port for serving OpenAPI documentation
POSTGRES_HOST=localhost # host of postgre db
POSTGRES_PASSWORD=someStr0ngPass # password to psql

and start the application via docker compose. It should start the API server, PostgreSQL database, pgAdmin and OpenAPI documentation, which you can see on http://localhost:${DOCS_PORT}

docker compose -f ./deployments/docker-compose.yml up -d

after that you have to run migrations

make migrate-up

Database structure

ERD

How to Test

for testing our API we're going to use POstman collection via Newman

make test-e2e