К сожалению, работодатель так и не вышел на связь после выполнения тех. задания (то есть работодатель даже не увидел что оно выполнено, перестав выходить на связь как только вручил задание). Но зато теперь у меня в гитхабе есть готовое решение интересной задачи :) Текст скопирован из файла с ТЗ, ничего не менял.
Тестовое задание необходимо для того, чтобы мы получили представление о том, какой код ты пишешь, и что мы можем ожидать.
- Реализовать простую реферальную систему. Минимальный интерфейс для тестирования.
- Реализовать логику и API для следующего функционала:
- Авторизация по номеру телефона. Первый запрос на ввод номера телефона. Имитировать отправку 4-хзначного кода авторизации (задержку на сервере 1-2 сек). Второй запрос на ввод кода.
- Если пользователь ранее не авторизовывался, то записать его в базу данных.
- Запрос на профиль пользователя.
- Пользователю нужно при первой авторизации присвоить рандомно сгенерированный 6-значный инвайт-код (цифры и символы).
- В профиле у пользователя должна быть возможность ввести чужой инвайт-код (при вводе проверять на существование). В своем профиле можно активировать только 1 инвайт код, если пользователь уже когда-то активировал инвайт код, то нужно выводить его в соответствующем поле в запросе на профиль пользователя.
- В API профиля должен выводиться список пользователей (номеров телефона), которые ввели инвайт-код текущего пользователя.
- Реализовать и описать в README API для всего функционала.
- Создать и прислать Postman коллекцию со всеми запросами.
- Залить в сеть, чтобы удобнее было тестировать (например бесплатно на PythonAnywhere или Heroku).
- Интерфейс на Django Templates.
- Документирование API при помощи ReDoc.
- Docker.
- Python.
- Django, DRF.
- PostgreSQL.
- Остальное на ваше усмотрение :)