Проект в рамках курсов ITAM
По итогам презентации решений заняли 1 место
Видео со всем функционалом сайта: https://disk.yandex.ru/client/disk/ITAM_Events?idApp=client&dialog=slider&idDialog=%2Fdisk%2FITAM_Events%2FITAM_Events.mp4
Состав команды Mojarung:
Backend: @dontpaniczy
Frontend: @Wasbyy
Design: @aantaars, @thePolishaz3, @kisssssssik
Реализованный функционал/фичи:
- Главная страница: Отображение созданных мероприятий с картинками; Подробная информация о каждом мероприятии; Регистрация/отмена регистрации пользователя на мероприятие
- Регистрация/авторизация: Регистрация пользователя с подтверждением через почт; Авторизация пользователя/администратора
- ЛК администратора: Создание мероприятий, их редактирование, удаление; Статистика по каждому мероприятию(список зарегистрированных); Список архивированных мероприятий
- ЛК пользователя: Данные пользователя; Cписок мероприятий, на которые зарегистрировался пользователь; Список мероприятий, которые пользователь прошел(без проверки присутствия)
- Уведомления: После успешной регистрации пользователь получает уведомление на электронной почте с деталями мероприятия; Уведомление за 24 часа до начала мероприятия с напоминанием времени и места проведения; Уведомление в случае изменения или отмены мероприятия; Уведомление после регистрации на почту с ссылкой для подтверждения аккаунта(не реализовано на фронтенде, есть только в коде бэкенда)
Как развернуть проект локально:
Backend:
- Создать локально базу данных с названием itam_project, при необходимости поменять конфиг БД в файле security.py
- Прогнать миграции по инструкции в файле Migrations.txt, установить все зависимости командой "pip install -r requirements.txt"
- Запустить бэкенд с помощью файла start.py или с помощью команды uvicorn api.main:app --host=0.0.0.0
Frontend:
- Установить зависимости с помощью команды npm install в папке "frontend"
- Запустить фронтенд командой "npm run dev -- --host 0.0.0.0"