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 коллекцию |