Skip to content

qXstay/MMORPG-Board

Repository files navigation

MMORPG Board

Доска объявлений для поиска партнеров в MMORPG играх. Пользователи могут создавать объявления, оставлять отклики, управлять подпиской на рассылку и получать уведомления.

Возможности

  • Объявления: Создание, редактирование, удаление объявлений в различных категориях (танки, хилеры, ДД и т.д.)
  • Отклики: Пользователи могут оставлять отклики на объявления, авторы объявлений могут принимать или удалять отклики
  • Аутентификация: Регистрация и вход через email (без использования имени пользователя)
  • Профиль пользователя: Редактирование профиля, просмотр своих объявлений и откликов
  • Уведомления по email: Отправка уведомлений о новых откликах и принятых откликах
  • Рассылка новостей: Еженедельная рассылка для подписанных пользователей
  • Очередь задач: Использование Celery для фоновой отправки email и очистки старых откликов

Технологии

  • Backend: Django, Django-allauth (аутентификация), Celery (фоновые задачи), Redis (брокер сообщений)
  • Frontend: HTML, CSS, Bootstrap
  • База данных: SQLite (для разработки)
  • Другие инструменты: Django-filter (фильтрация), PIL (обработка изображений)

Установка и запуск

Предварительные требования

  • Python 3.9+
  • Redis
  • Виртуальное окружение (venv)

1. Клонирование и настройка проекта

git clone https://github.com/qXstay/MMORPG-Board.git
cd mmorpg-board 

# Создайте виртуальное окружение
python -m venv venv

# Активируйте виртуальное окружение

# Для Windows:
venv\Scripts\activate
# Для Linux/MacOS:
source venv/bin/activate

# Установите зависимости
pip install -r requirements.txt

2. Настройка базы данных

# Примените миграции
python manage.py migrate

# Создайте суперпользователя
python manage.py createsuperuser

3. Настройка переменных окружения

Создайте файл .env в корневой директории проекта и заполните его по примеру:

SECRET_KEY=your-secret-key-here
DEBUG=True
EMAIL_HOST=smtp.yandex.ru
EMAIL_PORT=465
EMAIL_USE_SSL=True
EMAIL_HOST_USER=your-email@yandex.ru
EMAIL_HOST_PASSWORD=your-app-password
DEFAULT_FROM_EMAIL=your-email@yandex.ru
CELERY_BROKER_URL=redis://localhost:6379
CELERY_RESULT_BACKEND =redis://localhost:6379/1

4. Запуск сервера разработки и Celery

Откройте три отдельных терминала:

Терминал 1 - Запуск Redis:

redis-server

Терминал 2 - Celery Worker:

celery -A mmorpg_board worker -l info -P solo

Терминал 3 - Celery Beat (для периодических задач):

celery -A mmorpg_board beat -l info

Терминал 4 - Django сервер:

python manage.py runserver

После запуска откройте браузер и перейдите по адресу http://localhost:8000

Использование

  • Регистрация: Создайте аккаунт, указав email, имя и пароль

  • Подтверждение email: Проверьте почту и подтвердите email адрес

  • Создание объявления: Нажмите "Создать объявление" и заполните форму

  • Просмотр откликов: В разделе "Мои отклики" вы можете управлять откликами на ваши объявления

  • Ответ на объявления: На странице любого объявления можно оставить отклик

Структура проекта

mmorpg-board/
├── accounts/          # Приложение для пользователей и аутентификации
├── board/            # Основное приложение с объявлениями и откликами
├── notifications/    # Приложение для уведомлений и рассылок
├── templates/        # HTML шаблоны
├── media/            # Загружаемые файлы (изображения)
└── mmorpg_board/     # Настройки проекта

Важные особенности

  • Аутентификация реализована через email (без использования username)

  • Для работы email-уведомлений требуется настроить SMTP сервер

  • Периодические задачи (очистка откликов, рассылки) выполняются через Celery

Разработчики

Алекасандр

About

Доска объявлений для MMORPG

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages