Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/zhayt/library-service-onelab


https://github.com/zhayt/library-service-onelab

docker docker-compose echo golang postgresql swagger unittest

Last synced: 16 days ago
JSON representation

Awesome Lists containing this project

README

        

# OneLab Home Works Repo
Репозиторий для домашних заданий по OneLab

## Первое домашнее задание
### ДЗ
- Написать свой сервис хранения пользователей (фио, логин, пасс )
- Реализовать graceful shudown
- Чтение конфигов из ENV либо стандартные значения
- Данные нужно хранить как in memory
### Бонус:
- Хранение логов входящих запросов
- Реализовать возможность увидеть процесс выполнения запроса в логах от начала и до сохранения в ДБ
- Настроить линтер

#### Что почитать:
- Чистая Архитектура
- системные сигналы linux и чем они отличаются
- Виды переменных окружения и чем они отличаются
- 12 factor app

## Второе домашнее задание
### ДЗ
- Реализовать сохранение, обновление пароля у пользователя
- Реализовать проверку JWT токенов
- Реализовать сущность книг (Название, автор)
- Реализовать сущность истории выдачи книг (кто брал, когда вернул)
- Реализовать ендпоинты
- Получить текущих пользователей со списком книг который у них сейчас на руках
- Список пользователей с количеством книг за последний месяц
- Docker-compose для запуска всех сервисов [PostgreSQL, Redis, Adminer, App]

### Бонус:
- Офорлменная swagger документация

## Трете домашное задание
- написать unit тесты табличного вида
- написать интеграционные тесты для бд
- написать интеграционные тесты для хендлеров

## Последное задание
Обяденить два сервиса. Второй сервис сервис транзакции [link](https://github.com/zhayt/transaction-service)
### Сущности
![Image Alt](https://user-images.githubusercontent.com/100071536/232201315-9b0b62a5-f969-46b7-891c-305992debcda.png)
# Как запустить
Убедитесь, что находитесь в корневом директории проекта, и введите комаду в терминал, но рекомендую сперва сделать docker pool:
```shell
docker pull zhaisanbay/transaction-service
```
и потом
```shell
docker-compose up
```
ИЛИ
```shell
make build
```