Skip to content

Sayrrexe/Bulletin-Board

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Проект Bulletin Board

Описание

Проект представляет собой платформу для публикации объявлений, где пользователи могут размещать объявления, оставлять отклики и подписываться на рассылки. Включает такие функции, как регистрация, подтверждение email, управление профилем и создание объявлений.

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

Проект состоит из следующих основных частей:

  • Пользовательская регистрация и авторизация: с подтверждением email и аватарками пользователей.
  • Объявления и отклики: пользователи могут создавать объявления и оставлять отклики на объявления других участников.
  • Категории и поиск: объявления разделены на категории, доступен поиск по названию и описанию.
  • Рассылка: администраторы могут отправлять рассылки подписанным пользователям через админку.

Установка и настройка

Шаг 1: Клонирование репозитория

git clone https://github.com/Sayrrexe/GameBoard.git
cd GameBoard

Шаг 2: Создание виртуального окружения и установка зависимостей

python -m venv venv
source venv/bin/activate  # для Linux/macOS
venv\Scripts\activate  # для Windows
pip install -r requirements.txt

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

Создайте .env файл и укажите в нём необходимые параметры:

EMAIL_HOST_USER=ваш_email@example.com
EMAIL_HOST_PASSWORD=ваш_пароль
DEFAULT_FROM_EMAIL=ваш_email@example.com

Шаг 4: Настройка базы данных и миграции

Примените миграции для создания таблиц базы данных:

python manage.py migrate

Шаг 5: Создание суперпользователя

Для доступа в админ-панель создайте суперпользователя:

python manage.py createsuperuser

Шаг 6: Запуск сервера

Запустите сервер разработки:

python manage.py runserver

После этого, сайт будет доступен по адресу http://127.0.0.1:8000.


Основные страницы и URL-ы

  • Главная страница: 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published