Skip to content

shamildag/demo_kick_city

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Backend Test

Разработать API-сервер для блога

Описание задания

Требуется написать сервер на основе Spring Boot, реализовать эндпоинты для данного функционала и покрыть функционал тестами. Эндпоинты, возвращающие списки, должны поддерживать пейджинацию. Для авторизации предлагается использовать Spring Security и HTTP Basic Auth, для хранения данных – Spring Data в связке с БД на выбор, для тестов – junit, также требуется возможность in-memory тестов, не затрагивающих реальную БД. Фронтэнд не требуется, необходимы только эндпоинты и тесты.

Необходимый функционал

  1. Пользователь может зарегистрироваться (email + пароль).
  2. Для входа юзер использует email + пароль.
  3. Когда пользователь вошёл, он может редактировать свой профиль:
    • Указать username;
    • Указать подробную информацию о себе.
  4. Когда пользователь вошёл, он может добавить запись в блог. Запись - заголовок + текст, у каждой записи есть время добавления.
  5. Пользователь может видеть, редактировать и удалять свои записи. Неавторизованный пользователь / другой пользователь может только видеть записи.
  6. Неавторизованный пользователь видит информацию о юзере, но не может её изменить.
  7. Также необходимы эндпоинты, по которым можно получить:
    • всех зарегистрировавшихся юзеров в порядке регистрации;
    • последние записи, оставленные пользователями, вместе с указанием автора записи.
Структура программы

Выполнено в виде двух микросервисов :

  1. Сервис, отвечающий за домен работы с пользователем.
    • Написан на языке Kotlin.
    • Содержит функционал для создания пользователя, занесения токена сессии в базу , выдачу токена и посылку сообщения об истекшем токене
  2. Сервис отвечающий за ведение блогов:
    • Написан на Java 8, использует WebFlux Spring подход

Releases

No releases published

Packages

No packages published

Languages