РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
94 of 103 menu

Форум города N

Реализуйте форум для определенного города. Выберите один из областных городов любой страны либо возьмите свой родной город. Сайт должен поддерживать регистрацию с разделением по ролям: пользователь, модератор, администратор.

Основные возможности проекта

  • Главная страница со списком всех тем с пагинацией.
  • Страница темы с постами пользователей.
  • Три роли: пользователь, модератор, администратор.
  • Пользователи могут создавать темы и отвечать в них.
  • Возможность редактировать и удалять свои посты в течение N минут.
  • Модераторы могут управлять постами и банить пользователей.
  • Администраторы могут назначать модераторов, закреплять и закрывать темы.
  • Регистрация и профили пользователей.
  • Админ-панель для управления пользователями, темами и постами.

Регистрация и роли

На сайте должна быть реализована система регистрации и авторизации с разделением по ролям:

  • При регистрации пользователь должен указать: email, логин, пароль, ФИО, дату рождения.
  • Авторизация по логину и паролю.
  • Восстановление пароля через email.
  • Валидация всех полей на стороне сервера.
  • Три роли пользователей:
    • Пользователь - может создавать темы, отвечать в темах, редактировать и удалять свои посты в течение N минут.
    • Модератор - может редактировать и удалять любые посты, банить пользователей на время или навсегда.
    • Администратор - назначает модераторов, закрепляет и закрывает темы, управляет пользователями.
  • При регистрации все пользователи получают роль "пользователь".
  • Назначить модератором или администратором может только администратор.

Главная страница

На главной странице форума должен быть выведен список всех тем с пагинацией (по 20 тем). Для каждой темы должно быть указано:

  • Название темы (ссылка на страницу темы).
  • Автор темы.
  • Количество постов в теме.
  • Дата последнего поста.
  • Если тема закреплена - она всегда на первом месте.
  • Если тема закрыта - отображается специальная метка "Закрыта".

Темы должны быть отсортированы по дате последнего поста (сначала новые). Закрепленные темы выводятся в самом верху независимо от даты.

Страница темы

На странице темы пользователи размещают свои посты. Каждая тема начинается с заголовка и первого поста автора темы:

  • Заголовок темы.
  • Первый пост автора (вопрос).
  • Все последующие посты (ответы).

Каждый пост должен содержать:

  • Текст поста.
  • Дата и время публикации.
  • Имя автора (ссылка на профиль).

Возможности для автора поста:

  • Редактировать свой пост в течение N минут после публикации (например, 15 минут).
  • Удалить свой пост в течение N минут после публикации.
  • По истечении N минут редактирование и удаление недоступны.

Возможности для модератора:

  • Редактировать любой пост.
  • Удалять любой пост.
  • Отправлять пользователя в бан (на время или навсегда).

Возможности для администратора:

  • Закрыть тему (запретить новые сообщения).
  • Открыть тему (разрешить новые сообщения).
  • Закрепить тему (всегда на первом месте).
  • Открепить тему.

Страница профиля

На странице профиля пользователь может просматривать и редактировать свои данные:

  • Просмотр: логин, ФИО, email, дата рождения, дата регистрации.
  • Редактирование: ФИО, email, пароль (с подтверждением старого).
  • Количество созданных тем.
  • Количество написанных постов.
  • Дата последнего визита.

Пользователи могут просматривать профили других пользователей (только просмотр, без редактирования).

Личный кабинет пользователя

В личном кабинете пользователь может управлять своими темами и постами:

  • Список всех своих тем с пагинацией.
  • Список всех своих постов с пагинацией.
  • Фильтр по темам (показать только мои темы).
  • Статистика: общее количество тем и постов.

Админ-панель

В админ-панели администратор может управлять пользователями, темами и постами:

  • Список всех пользователей с пагинацией (по 20 пользователей).
  • Для каждого пользователя: логин, email, роль, статус (активен, забанен), дата регистрации.
  • Действия: назначить модератором, разжаловать из модераторов, назначить администратором, разжаловать из администраторов, забанить, разбанить, удалить.
  • При бане указать срок (на время или навсегда).
  • Фильтр по роли (показать только пользователей, модераторов, администраторов).

Дополнительные возможности

  • Поиск по темам (по названию).
  • Поиск по постам (по тексту).
  • Количество просмотров темы.
  • Уведомления о новых ответах в теме (на email).
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить