Интернет магазин музыкальных инструментов - это проект, разработанный в процессе выполнения курсовой работы. Его целью было углубленное изучение Django и Docker. Фронтент написан на Vue3, но является не законченным, так как упор делался именно на бэкенд.
- Склонировать проект
git clone https://github.com/Sofya2003/music-store.git
- В корневой папке проекта прописать команду для сборки образа Docker
docker-compose up -d --build
Доступные API:
- фронтенд проекта:
http://localhost:8080/
- бэкенд:
http://localhost:8086/api/v1/
- mailhog:
http://localhost:8025/
- flower:
http://localhost:5555/
- авторизация через Гитхаб:
http://localhost:8086/accounts/login/
- swagger:
http://localhost:8086/swagger/
Чтобы отправить письмо на mailhog, нужно перейти на странцу с формой регистрации, заполнить и нажать кнопку "Отправить". По адресу http://localhost:8025/
появится письмо с названием "Test email from Celery". В будущем это можно использовать для завершения регистрации на сайте.
Также на mailhog периодически приходит письмо "Report". Это периодическая асинхронная задача, реализованная с помощью celery-beat.
В проекте реализовано логирование некоторых страниц, которые получают информацию с бэкенда при загрузке (например, каталог или блог). Посещение страницы записывается в кэш с ключом visit
. Каждые несколько минут периодическая таска получает из кэша данные с ключом visit
и записывает их в таблицу "Периодические задачи" в БД (ее можно посмотреть в админке джанго).
Имя пользователя в админке: user Пароль: user12345678
Авторизация сделана только через Гитхаб. Реализована с использованием библиотеки allauth
.