Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/0xvbetsun/todo-app
Simple todo-app with documentation and e2e testing via Postman
https://github.com/0xvbetsun/todo-app
go golang newman openapi postman todo-app
Last synced: 15 days ago
JSON representation
Simple todo-app with documentation and e2e testing via Postman
- Host: GitHub
- URL: https://github.com/0xvbetsun/todo-app
- Owner: 0xvbetsun
- License: mit
- Created: 2022-04-23T20:56:19.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-12-20T21:52:16.000Z (11 months ago)
- Last Synced: 2024-10-12T11:21:01.191Z (about 1 month ago)
- Topics: go, golang, newman, openapi, postman, todo-app
- Language: Go
- Homepage: https://pkg.go.dev/github.com/vbetsun/todo-app
- Size: 1.12 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://github.com/vbetsun/todo-app/workflows/CI/badge.svg)
[![GoReport](https://goreportcard.com/badge/github.com/vbetsun/todo-app)](https://goreportcard.com/report/github.com/vbetsun/todo-app)
![license](https://img.shields.io/github/license/vbetsun/todo-app)
[![GitHub go.mod Go version of a Go module](https://img.shields.io/github/go-mod/go-version/vbetsun/todo-app.svg)](https://github.com/vbetsun/todo-app)
[![GoDoc](https://pkg.go.dev/badge/github.com/vbetsun/todo-app)](https://pkg.go.dev/github.com/vbetsun/todo-app)## Prerequisites
- Git
- Docker
- Docker Compose
## How to InstallClone from github and navigate to the project's folder
```sh
# HTTPS
git clone https://github.com/vbetsun/todo-app.git# SSH
git clone [email protected]:vbetsun/todo-app.gitcd todo-app
```## How to Deploy
```sh
cp ./deployments/.env.example ./deployments/.env
```change env variables for your needs
```dotenv
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}
```sh
docker compose -f ./deployments/docker-compose.yml up -d
```after that you have to run migrations
```sh
make migrate-up
```## Database structure
![ERD](./docs/ERD.png)
## How to Test
for testing our API we're going to use POstman collection via Newman
```sh
make test-e2e
```