Веб-приложение для управления мероприятиями с ролевой системой и REST API
Event Manager — это веб-приложение, разработанное для автоматизации процессов организации мероприятий. Оно позволяет пользователям создавать события, управлять заявками, категориями и локациями, а также разграничивать доступ через ролевую модель (пользователи, модераторы, администраторы). Проект реализован с использованием современного стека технологий: Django и React, с интеграцией через REST API и базой данных PostgreSQL.
Проект создан в рамках курсовой работы по дисциплине "Интернет-технологии" в Северо-Кавказском Федеральном Университете (2025).
- Создание и управление мероприятиями: Добавляйте события с указанием названия, описания, дат, категорий и локаций.
- Ролевая система:
- Пользователи: просмотр публичных мероприятий, отправка заявок на создание/редактирование.
- Модераторы: управление мероприятиями, обработка заявок.
- Администраторы: полный доступ, включая управление пользователями.
- Система заявок: Пользователи могут подавать запросы на создание, редактирование или удаление объектов, которые модерируются.
- Интуитивный интерфейс: Анимации (Framer Motion), уведомления (react-toastify) и удобная навигация.
- REST API: Полнофункциональный API для взаимодействия фронтенда и бэкенда.
- Бэкенд:
- Django + Django REST Framework
- PostgreSQL (база данных)
- Токенная аутентификация
- Фронтенд:
- React (с хуками и React Router)
- Tailwind CSS (стилизация)
- Framer Motion (анимации)
- Axios (запросы к API)
- Инструменты:
- Talend API Tester (тестирование API)
- Git (контроль версий)
- Python 3.8+
- Node.js 16+
- PostgreSQL 13+
- Git
git clone https://github.com/Kae1thas/Cursovaya.git
cd event-manager- Установите виртуальное окружение и зависимости:
python -m venv venv
# Для Windows: .venv\Scripts\activate
pip install -r backend/requirements.txt- Настройте базу данных PostgreSQL:
- Создайте базу данных:
event_db. - Обновите файл
backend/settings.pyс вашими настройками:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'event_db', 'USER': 'postgres', 'PASSWORD': '1239', 'HOST': 'localhost', 'PORT': '5432', 'OPTIONS': { 'client_encoding': 'UTF8', }, } } - Создайте базу данных:
- Примените миграции и создайте суперпользователя:
python backend/manage.py migrate python backend/manage.py createsuperuser
- Запустите сервер:
python backend/manage.py runserver
- Перейдите в папку фронтенда:
cd frontend - Установите зависимости:
npm install
- Запустите приложение:
Фронтенд будет доступен по адресу
npm start
http://localhost:3000.
Санамян Олег Арменович
Студент 4 курса, ПИН-б-о-21-1