Restful API that develops with Go Fiber Framework for CRUD Todo List with Repository pattern that supports caching and Elasticsearch. This project also implements the pipeline to make it easier for search improvement.
- Go version: 1.20.1
- Restful CRUD Todo List
- Middleware
- Validator
- Seeder
- Pipline
- Database (MySQL/PostgreSQL)
- Caching (Redis/Memcache)
- [WIP] Elasticsearch
- Pipline
- Dockerize
- Swagger
- Copy
/.env.exampleto/.envand set with your own credentials - RUN
go get -d -vto download the packages - RUN
make buildto build executable file OR - RUN
make runto build and run the app - Open http://localhost:3000
- Open http://localhost:3000/api/v1/documentation for swagger
- Copy
/.env.exampleto/.envand set with your own credentials - Copy
/docker/.env.exampleto/docker/.envand set with your own credentials - On
/.envset:APP_HOST=app-todoDATABASE_HOST=mysql-todoandDATABASE_PORT=3306forDATABASE_DRIVER=mysqlDATABASE_HOST=postgres-todoandDATABASE_PORT=5432forDATABASE_DRIVER=postgresREDIS_HOST=redis-todoforCACHE_DRIVER=redisMEMCACHE_HOST=memcache-todoforCACHE_DRIVER=memcacheELASTICSEARCH_HOST="http://es01-todo"
- Run
docker compose up -d --build - Open http://localhost:3000
- Open http://localhost:3000/api/v1/documentation for swagger
- Use
swag initcommand to generate swagger for documentation. more details
- Go Fiber Web Framework
- Inspired by Goshaka Starter
- Fixing Elasticsearch integration
- Implement ACL (Access Control List) and manage users
- Add unit test
- Support GraphQL