An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          

![Go Report](https://goreportcard.com/badge/github.com/AwesomeXjs/music-lib)
![Repository Top Language](https://img.shields.io/github/languages/top/AwesomeXjs/music-lib)
![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/AwesomeXjs/music-lib)
![Github Repository Size](https://img.shields.io/github/repo-size/AwesomeXjs/music-lib)
![Github Open Issues](https://img.shields.io/github/issues/evt/rest-api-example)
![GitHub last commit](https://img.shields.io/github/last-commit/AwesomeXjs/music-lib)
![GitHub contributors](https://img.shields.io/github/contributors/AwesomeXjs/music-lib)
![Simply the best ;)](https://img.shields.io/badge/simply-the%20best%20%3B%29-orange)




# 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/
```