📝 Описание
Целью данного проекта является разработка Бекенда для маркетплейса жилых помещений - “Sanıraq.kz”. Пользователи могут оставлять свои объявления, комментировать, добавлять в избранное. Мы будем использовать:
- веб-фреймворк Python FastAPI в качестве бекенда
- базу данных MongoDB
- S3 для хранения файлов (изображения квартир, аватары пользователей)
- стороннюю API here.com для получения координат квартир
- railway.app для развертывания бекенда
<aside>
💡 Ссылка на Boilerplate репозиторий: https://github.com/atlekbai/nfactorial-backend
</aside>
📒 Силлабус
1. Запуск шаблона, REST API, MongoDB
Лекция
- Клиент-серверное взаимодействие: диаграмма, HTTP, домен, IP, порт
- Настройка окружения boilerplate кода и запуск
- HTTP методы, статус коды, JSON
- Проектирование API по REST
- MongoDB
Проект
- Регистрация пользователя с доп. информацией: email, телефон, имя, город.
- Создание RU (Read, Update) для пользователя
- Создание CRUD для объявлении пользователя
- Деплой на Railway
2. Хранилище файлов S3
Лекция
- Добавление зависимости через poetry — S3
- S3 CRUD
- Привязываем файлы к объявлениям в MongoDB
Проект
- Добавление медиа файлов к объявлению - CRUD операции над файлами
- Архивирование объявлений
- Комментарий к объявлениям
- Обновление статистики по объявлению: кол-во комментариев и добавлений в избранное
3. Подключение стороннего API
Лекция
- Подключение внешнего API
- Интеграция с here.com
Проект
- Добавление координат жилого помещения через here.com
- Добавление в избранное объявления
- Добавление аватара пользователю - полный CRUD
4. Поиск, фильтрация и пагинация