Форум JavaScript тематики

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

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

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

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

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

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

Страница категории

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

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

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

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

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

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

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

Рейтинг постов

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

Создание новой темы

Зарегистрированные пользователи могут создавать новые темы. Для этого на странице категории есть кнопка "Создать новую тему". Форма создания темы содержит:

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

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

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

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

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

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

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

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