digital-garden/source/курсы/otus/Архитектор высоких нагрузок 2024/Домашнее задание OTUS. Социальная сеть.md
2024-06-13 21:01:37 +03:00

67 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
date:
- - 2024-02-29
zero-link:
- "[[00 HighLoad]]"
parents:
- "[[Архитектор высоких нагрузок - OTUS 2024]]"
linked:
---
## Полезные ссылки
- [Спецификация API](https://github.com/OtusTeam/highload/blob/master/homework/openapi.json)
- [Swagger Editor](https://editor.swagger.io/)
## Задания
### Задание 1
#### Открытые вопросы
- [ ] Что подразумевается под "Интересы" в карточке пользователя? Какой это тип данных
- Возможно ответ есть в спецификации
#### Описание задания
В результате выполнения ДЗ вы создадите базовый скелет социальной сети, который будет развиваться в дальнейших ДЗ.
**В данном задании тренируются навыки:**
- декомпозиции предметной области;
- построения элементарной архитектуры проекта
Требуется разработать создание и просмотр анкет в социальной сети.
Для удобства разработки и проверки задания можно воспользоваться [этой спецификацией](https://github.com/OtusTeam/highload/blob/master/homework/openapi.json "этой спецификацией") и реализовать в ней методы:
- `/login`
- `/user/register`
- `/user/get/{id}`
**Функциональные требования:**
- Простейшая авторизация пользователя.
- Возможность создания пользователя, где указывается следующая информация:
1. Имя
2. Фамилия
3. Дата рождения
4. Пол
5. Интересы
6. Город
- Страницы с анкетой.
**Нефункциональные требования:**
- Любой язык программирования
- В качестве базы данных использовать PostgreSQL
- Не использовать ORM
- Программа должна представлять из себя монолитное приложение.
- Не рекомендуется использовать следующие технологии:
- Репликация
- Шардирование
- Индексы
- Кэширование
**Критерии оценки:**
- Оценка происходит по принципу зачет/незачет.
- Есть возможность авторизации, регистрации, получение анкет по ID.
- Отсутствуют SQL-инъекции.
- Пароль хранится безопасно.
#### План
- [ ] Создать репозиторий в своем гитлабе
- [ ] Создать Dockerfile
- [ ] Создать docker-compose
- [ ] Выбрать рекомендуемую версию Postgres
- [ ] В Readme описать запуск приложения
- [ ] Создать Postman коллекцию