Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/osmosx/leroymerlin

Test job for Devops Intern position
https://github.com/osmosx/leroymerlin

api docker docker-compose rest-api

Last synced: about 4 hours ago
JSON representation

Test job for Devops Intern position

Awesome Lists containing this project

README

        

# Тестовое задание на позицию Devops Intern

## Что требовалось
1. Запустить любую базу данных (MySQL/Postresql/MongoDB) в Docker контейнере
2. Написать простой веб-сервис на любом языке (Python/Java/Go), который:
- Слушает порт 8080
- На POST запрос по пути /intern записывает информацию о кандидате в базу данных
- На GET запрос по пути /intern выдает информацию о кандидате из базы данных
- Информация о кандидате выдается и принимается в JSON формате и содержит имя, фамилию и пару слов о себе
3. Написать Dockerfile, который будет собирать Docker образ c приложением
4. Залить Docker образ с приложением на Dockerhub
5. Написать docker-compose файл, который:
- запускает приложение с образом из Dockerhub на порту 8888
- запускает базу данных на любом порту
6. Написать README.md файл в котором описать:
- Что делает приложение
- Инструкцию как запустить приложение с примером запросов
7. Загрузить все в репозиторий на GitHub и прислать ссылку

## Описание
Веб сервис написан на языке Go и работает с базой данных Postresql. Веб-сервис слушает порт 8080. На POST запрос по пути /intern записывает информацию о кандидате в базу данных. На GET запрос по пути /intern выдает информацию о кандидате из базы данных. Информация о кандидате выдается и принимается в JSON формате и содержит имя, фамилию и пару слов о себе. Образ с приложением собран и загружен на Docker Hub, и при запуске будет подгружаться от туда. Docker-compose запускает базу данных и сразу создает необходимую таблицу в ней. Запускает приложение на порту 8080. Это мой первый проект такого рода, поэтому есть чему учиться и что дорабатывать.

## Как использовать

```bash
git clone https://github.com/osmosx/leroymerlin.git
```
```bash
cd leroymerlin
```
```bash
docker-compose up
```
#GET

```bash
curl http://localhost:8080/intern
```
или http://localhost:8080/intern

#POST

```bash
curl --header "Content-Type: application/json" \
--request POST \
--data '{"first_name":"Denis","last_name":"Chernyavskiy","about":"Best Intern"}' \
http://localhost:8080/intern
```
или воспользоваться программами [Postman](https://www.postman.com) или [Insomnia](https://insomnia.rest)

#JSON
```bash
{
"first_name": "You",
"last_name": "are",
"about": "the Best"
}
```