Skip to content

Constantine-Ka/z_agencyTest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZeroAgency

Проект RESTAPI-сервера, написан с использованием готовой вебсерверной библиотеки Fiber. Сервер предоставляет всего два Хэндлера.

Хендлеры

  • POST /edit/ изменение новости по заданному идентификатору. Измененять можно не только поля Title, Content и Category, но и сам уникальный идентификатор, допустим, команде фронтенда может потребовать менять порядок.
  • *GET /list - получение списка всех новостей. Каждая новость представлена полями Id, Title, Content и списком депенсов с категориями.

База данных:

Для хранения данных выбрана привычная MySQL. Имеются всего две таблицы:

  • News - содержит информацию о новостях.
  • NewsCategories - таблица связи новостей и категорий. Вид связи: Многое ко многому

Авторизация

В задании небыло разрешено использовать дополнительные ресурсы, а также указано использовать только определённые таблицы, то было принято решение в пользу Basic Auth. Обработка должна выполняться на уровне Middleware.

Основные файлы

  1. docker-compose.yaml и DOCKERFILE- Файлы упаковки проекта, а также создания необходимого окружения
  2. *.http -текстовые файлы с указанием конфигураций запросов (Goland может их запускать). Там имеются описания запросов и заголовок авторизации. Для вывода списка, указаны get-параметры

Запуск

Запуск проекта должен производиться на компьютере:

  1. На уровне БИОС должна быть включена модуль визуализации.
  2. На устройствах с ОС Windows должен быть установлен компонент WSL.
  3. Обязательно установлен 🐳Docker

Для запуска вебприложения требуется ввести команду docker compose up

Слабые места

Так как проект тестовый и писался после основной работы, то многие фрагменты были упрощены в угоду времени, по типу простой авторизации, отсутсвия кеширования, малого количества мидлвеиров, Сваггера, префиксов таблиц, миграций, валидации данных (представлена в виде результата Анмаршалинга в структуру)

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published