Проект представляет собой платформу для публикации объявлений, где пользователи могут размещать объявления, оставлять отклики и подписываться на рассылки. Включает такие функции, как регистрация, подтверждение email, управление профилем и создание объявлений.
Проект состоит из следующих основных частей:
- Пользовательская регистрация и авторизация: с подтверждением email и аватарками пользователей.
- Объявления и отклики: пользователи могут создавать объявления и оставлять отклики на объявления других участников.
- Категории и поиск: объявления разделены на категории, доступен поиск по названию и описанию.
- Рассылка: администраторы могут отправлять рассылки подписанным пользователям через админку.
git clone https://github.com/Sayrrexe/GameBoard.git
cd GameBoard
python -m venv venv
source venv/bin/activate # для Linux/macOS
venv\Scripts\activate # для Windows
pip install -r requirements.txt
Создайте .env
файл и укажите в нём необходимые параметры:
EMAIL_HOST_USER=ваш_email@example.com
EMAIL_HOST_PASSWORD=ваш_пароль
DEFAULT_FROM_EMAIL=ваш_email@example.com
Примените миграции для создания таблиц базы данных:
python manage.py migrate
Для доступа в админ-панель создайте суперпользователя:
python manage.py createsuperuser
Запустите сервер разработки:
python manage.py runserver
После этого, сайт будет доступен по адресу http://127.0.0.1:8000
.
- Главная страница:
http://127.0.0.1:8000/
– отображает список опубликованных объявлений с фильтрацией по категориям и поиску. - Регистрация:
/register/
– регистрация нового пользователя. - Авторизация:
/login/
– вход для зарегистрированных пользователей. - Профиль:
/profile/
– страница профиля пользователя с возможностью редактирования информации и аватара. - Создание объявления:
/create/
– страница создания нового объявления. - Детали объявления:
/ad/<id>/
– страница с подробностями объявления и возможностью откликнуться. - Мои отклики:
/my-responses/
– страница для управления откликами пользователя на объявления. - Подтверждение email:
/email-confirmation/
– страница для ввода кода подтверждения email.
- CustomUser: Расширенная модель пользователя с полями для аватара, информации и подписки на рассылку.
- Category: Модель категорий для объявлений.
- Ad: Модель для создания объявлений, включающая заголовок, описание, категорию, автора и статус.
- Response: Модель для откликов на объявления, содержащая текст отклика, автора и статус (ожидает, принят, отклонён).
- Newsletter: Модель для хранения и управления рассылками.
- ConfirmationCode: Модель для хранения кода подтверждения email.
Доступ к админ-панели находится по адресу /admin/
. В админке можно:
- Управлять пользователями и объявлениями.
- Управлять категориями объявлений.
- Отправлять рассылки подписанным пользователям.
Для рассылки писем используется SMTP-сервер. Настройки email задаются в файле settings.py
через переменные окружения для защиты данных.
- Django: Веб-фреймворк для создания серверной логики.
- SQLite: Используется для базы данных по умолчанию.
- Django CKEditor 5: Подключен для удобного редактирования текстов в объявлениях.
- SMTP: Для отправки email-уведомлений и рассылок.
- Сбор статических файлов:
python manage.py collectstatic