-
Краткое описание: Разработка бэкенда для персонального TODO-менеджера. Сервис позволяет пользователям создавать задачи, организовывать их по категориям, прикреплять файлы и осуществлять быстрый поиск по содержимому.
-
План-минимум (MVP):
- Реализовать CRUD-операции для сущностей: Заметка (
Task) и Категория (Category). - Обеспечить возможность привязки заметки к одной из категорий.
- Реализовать offset-пагинацию для получения списка заметок.
- Реализовать CRUD-операции для сущностей: Заметка (
-
План-максимум (Бонусные фичи):
- Реализовать эндпоинты для загрузки, скачивания и удаления файлов, прикрепленных к конкретной заметке.
- Интегрировать полнотекстовый поиск по полям
titleиdescriptionзаметок с использованием Elasticsearch. - Добавить возможность фильтрации заметок по статусу (
new,in_progress,done) и дате выполнения (due_date).
-
Технологический стек:
- PostgreSQL: Используется для хранения строго структурированных данных с четкими связями:
Users(пользователи),Categories(категории) иAttachments(метаданные прикрепленных файлов). - Elasticsearch: Используется для хранения основной сущности —
Tasks(заметок). Это позволяет реализовать мощный и быстрый полнотекстовый поиск, а также гибкую фильтрацию по множеству полей. - S3-совместимое хранилище (например, MinIO): Используется для хранения самих бинарных файлов, прикрепленных к заметкам.
- PostgreSQL: Используется для хранения строго структурированных данных с четкими связями:
pipitochka/HSE_summer_school_2025
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|