67 lines
3.2 KiB
Markdown
67 lines
3.2 KiB
Markdown
|
---
|
|||
|
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 коллекцию
|