Доска объявлений для поиска партнеров в MMORPG играх. Пользователи могут создавать объявления, оставлять отклики, управлять подпиской на рассылку и получать уведомления.
- Объявления: Создание, редактирование, удаление объявлений в различных категориях (танки, хилеры, ДД и т.д.)
- Отклики: Пользователи могут оставлять отклики на объявления, авторы объявлений могут принимать или удалять отклики
- Аутентификация: Регистрация и вход через email (без использования имени пользователя)
- Профиль пользователя: Редактирование профиля, просмотр своих объявлений и откликов
- Уведомления по email: Отправка уведомлений о новых откликах и принятых откликах
- Рассылка новостей: Еженедельная рассылка для подписанных пользователей
- Очередь задач: Использование Celery для фоновой отправки email и очистки старых откликов
- Backend: Django, Django-allauth (аутентификация), Celery (фоновые задачи), Redis (брокер сообщений)
- Frontend: HTML, CSS, Bootstrap
- База данных: SQLite (для разработки)
- Другие инструменты: Django-filter (фильтрация), PIL (обработка изображений)
- Python 3.9+
- Redis
- Виртуальное окружение (venv)
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# Примените миграции
python manage.py migrate
# Создайте суперпользователя
python manage.py createsuperuserСоздайте файл .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Откройте три отдельных терминала:
Терминал 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