Article web service - это веб-сервис, который позволяет пользователям создавать и редактировать статьи, а также комментировать их. Все статьи и комментарии хранятся в базе данных. Сервис предоставляет REST API, с помощью которого можно получить список статей, создать новую статью, получить/обновить/удалить статью по её ID, получить список комментариев к статье, создать комментарий к статье, получить/обновить/удалить комментарий по его ID.
- Все API должны быть документированы с помощью Swagger.
- Все API должны быть доступны по HTTP.
- Kotlin (Его знает хорошо только один человек, но он знает)
- Spring Boot (Стандарт де-факто на рынке)
- Spring Data JPA (Позволяет работать с БД)
- PostgreSQL (Стандарт де-факто на рынке(либо MongoDB, но у нас нет необходимости в no-SQL DB))
- Maven (Для управления зависимостями)
- Docker (Для разворачивания в контейнере)
- Swagger (Для документации API)
- JUnit (Для тестирования)
- Mockito (Для тестирования)
- Flyway (Для миграций БД)
- IntelliJ IDEA (Стандарт де-факто на рынке)
- GitHub (Для хранения кода)
- GitHub Actions (Для деплоя)
- Postman (Для тестирования API)
- Article controller - отвечает за управление статьями
- Article service - отвечает за бизнес-логику статей
- Auth controller - отвечает за авторизацию
- Auth service - отвечает за бизнес-логику авторизации
- User controller - отвечает за управление пользователями
- User service - отвечает за бизнес-логику пользователей
- Article analytics controller - отвечает за аналитику статей
- Article analytics service - отвечает за бизнес-логику аналитики статей