FlatMarket Service

Это сервис для управления домами и квартирами, разработанный в рамках тестового задания для отбора на Avito Backend Bootcamp. Сервис позволяет пользователям и модераторам управлять объявлениями о продаже квартир.

Оглавление

Требования

  • Docker
  • Docker Compose

Установка

  1. Клонируйте репозиторий:

    git clone https://github.com/yourusername/FlatMarket
    cd FlatMarket
    
  2. Настройте окружение:

    Убедитесь, что все переменные окружения для подключения к базе данных и сервера установлены. Это можно сделать через .env файл или в docker-compose.yml.

Запуск

  1. Соберите и запустите контейнеры:

    Используйте Docker Compose для сборки и запуска контейнеров:

    docker-compose up --build

    Это запустит сервис и базу данных PostgreSQL. Приложение будет доступно по адресу http://localhost:8080.

API

API документация доступна через OpenAPI спецификацию. Основные эндпоинты:

  • GET /dummyLogin: Получение токена для авторизации.
  • POST /house/create: Создание нового дома (только для модераторов).
  • GET /house/{id}: Получение списка квартир в доме.
  • POST /flat/create: Создание новой квартиры.
  • POST /flat/update: Обновление статуса квартиры (только для модераторов).

Подробности можно найти в файле api.yaml.

Тестирование

Для запуска тестов используйте следующую команду:

go test ./...

Это выполнит модульные и интеграционные тесты, разработанные для сервиса.

Вопросы и проблемы

Понял, что нужно и дальше изучать Go и постоянно практиковаться в написании подобных сервисов. Хотел бы улучшить свои навыки и поучиться разработке на Go в bootcamp от Avito.