- Можно зарегистрироваться и логинится. Наверху показано под каким логином ты зашел.
- Тесты и ответы на них создаются динамически через админку.
- Список тестов выводится в виде содержания произвольного вида (столбец, таблица, как удобно) Фронт делается с помощью шаблонизатора Django, СУБД произвольная
- За прохождение тестов начисляется какое-то количества валюты.
- Валюту можно потратить на перекрашивание рамки логина или бэкграунда на странице профиля.
- Показывать список пользователей и количество пройденных тестов на отдельной странице, там же показывать цветовую дифференциацию пользователей.
- Сделать фронт на реакте, в виде SPA или отдельных модулей.
Название | Метод | Описание | Авторизация |
---|---|---|---|
/ | GET | Список тестов и поиск по названию | нет |
test/<int:pk>/ | GET/POST | Страница теста | Да |
... | |||
auth/signup/ | GET/POST | Зарегестрироваться | Да |
auth/login/ | GET/POST | Авторизоваться | Да |
auth/logout/ | GET/POST | Выйти | Да |
users/ | GET/POST | Список пользователей и количество пройденных тестов, и их цвета | Да |
profile/ | GET/POST | Профиль пользователя с выбором купленных цветов | Да |
buy/ | GET/POST | Список цветов доступных для покупки | Да |
Клонируем репозиторий и переходим в него:
gh clone https://github.com/PivnoyFei/task_for_kokoc.git
cd task_for_kokoc
Перед запуском сервера, необходимо создать .env файл расположенный по пути infra/.env со своими данными.
SECRET_KEY='key' # Секретный ключ джанго
DEBUG='True' # Режим разработчика
ALLOWED_HOSTS='localhost' # Адрес
DB_ENGINE='django.db.backends.postgresql'
DB_NAME='postgres' # имя БД
POSTGRES_USER='postgres' # логин для подключения к БД
POSTGRES_PASSWORD='postgres' # пароль для подключения к БД
DB_HOST='db' # название контейнера
DB_PORT='5432' # порт для подключения к БД
python -c 'from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())'
cd infra
docker-compose up -d --build
docker-compose exec backend python manage.py makemigrations
docker-compose exec backend python manage.py migrate --noinput
в папке data - colors.json
, tests.json
docker-compose exec backend python manage.py load_items colors.json
docker-compose exec backend python manage.py createsuperuser
docker-compose exec backend python manage.py collectstatic --noinput
Теперь сервер доступен по адресу - http://localhost админка доступна по - http://localhost/admin/.
docker-compose down -v
Создаем и активируем виртуальное окружение в корневой папке task_for_kokoc, для выхода из папки введите команду cd ..
:
python3 -m venv venv
source venv/bin/activate
python -m venv venv
source venv/Scripts/activate
python -m pip install --upgrade pip
pip install -r backend/requirements.txt
cd backend
python -m pip install --upgrade pip
pip install -r requirements.txt
python manage.py makemigrations
python manage.py migrate --noinput
python manage.py createsuperuser
python manage.py runserver