Skip to content

deshcherbinin/spbpu-software-design-project

Repository files navigation

Go Report Repository Top Language GitHub go.mod Go version Lines of code Github Repository Size

Проект "TODO App API" в рамках курса "Конструирование программного обеспечения" в СПбПУ.

Денис Щербинин, гр. 3530202/90201.

ToDo App REST API

Приложение REST API для управления повседневными задачами.
Возможности API:

  1. Профиль пользователя:
    • Регистрация
    • Вход в профиль
  2. Списки задач (todo-list)
  3. Задачи к определённому списку (todo-item)

Архитектура

Схема модели C4 для визуализации компонентов проекта:

image

Архитектура приложения:

image

  • Слой Handler отвечает за логику запрос/ответ
  • Слой Service отвечает за бизнес-логику приложения
  • Слой Repository отвечает за логику работы с базой данных

При разработке приложения были соблюдены подход Clean Architecture и принципы Solid

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

Структура и логика приложения очень простая. Поэтому были написаны unit-тесты на основной функционал.
Также было проведено ручное тестирование через Postman

  1. Чтобы запустить тесты:
    make gotest
    

Запуск приложения

Требования:

  • Docker, docker-compose
  • Поддержка Makefile

Запуск приложения:

  1. Создать .env файл. Для тестирования можно взять данные из .env-example
  2. Команда запуска::
    make run
    

При первом запуске, некоторые контейнеры могут перезапускаться, это нормально.

About

📑 TODO App API

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages