https://github.com/awesomexjs/music-lib
https://github.com/awesomexjs/music-lib
List: music-lib
clean-architecture docker-compose gh-actions golang linter postgresql rest-api
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/awesomexjs/music-lib
- Owner: AwesomeXjs
- Created: 2024-09-26T03:03:26.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-01T08:26:15.000Z (over 1 year ago)
- Last Synced: 2025-10-25T17:03:00.283Z (8 months ago)
- Topics: clean-architecture, docker-compose, gh-actions, golang, linter, postgresql, rest-api
- Language: Go
- Homepage:
- Size: 1.11 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README








# Music library test task
# REST API Server
This is Golang REST API server example including the following features:
* based on minimalist Go web framework - [Echo](https://echo.labstack.com)
* made with Clean Architecture (Controller => Service => Repository)
* has services that work with PostgreSQL database
* config based on envconfig with [GoDotEnv]()
* fastest [Zap]() logger
* swagger documentation by [Swaggo]()
* Implemented classic CRUD with all the requirements, including working with a third-party service when adding music to the library, [Mokky.dev](https://mokky.dev/) for example
## start
1. to start correctly you will need [Docker](https://www.docker.com/products/docker-desktop/) and preferably "Make tools"
```sh
$ make up
```
or
```sh
$ docker compose -f docker-compose.yml up -d
```
2. After assembly, the server will start and Swagger documentation will become available to you at this path:
```sh
http://localhost:9999/swagger/
```
