Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aaltgod/fintech-test-task
Тестовое задание. Сервис сокращения ссылок.
https://github.com/aaltgod/fintech-test-task
docker echo-framework go
Last synced: 14 days ago
JSON representation
Тестовое задание. Сервис сокращения ссылок.
- Host: GitHub
- URL: https://github.com/aaltgod/fintech-test-task
- Owner: aaltgod
- Created: 2021-06-20T15:47:50.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-06-28T20:58:49.000Z (over 3 years ago)
- Last Synced: 2024-11-10T01:27:10.310Z (2 months ago)
- Topics: docker, echo-framework, go
- Language: Go
- Homepage:
- Size: 908 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
**Задание на стажировку (МКК)**
Написать сервис сокращения ссылок.
Функциональные требования:
Реализовать следующие методы API:
1. На вход поступает длинная ссылка, возвращается сокращённая ссылка
Request:
POST /short {"url": "long-url-here"}
Response:
{"url": "short-url-here"}
2. На вход поступает сокращённая ссылка, возвращается полная ссылка
Request:
POST /long {"url": "short-url-here"}
Response:
{"url": "long-url-here"}
Нефункциональные требования:
В качестве хранилица использовать РСУБД(postgresql, sqllite)
postgresql можно запустить в docker:
docker run --rm -p 5432:5432 postgres:10.5
В качестве структуры веб сервиса - https://github.com/golang-standards/project-layout
Сервис можно реализовать как стандартной библиотекой(net/http), так и фреймворками gin, echo
Запросы в БД на pure sql, либо https://github.com/Masterminds/squirrel
Короткие ссылки должны основываться на id записи(sequence) в БД, переведённой в систему счисления с алфавитом [A-Za-z0-9]
***
## Пример работы***
## Технологии
- Go, Echo
- PostgreSQL
- Docker
***
## Запуск проекта
`make run && make build`