Skip to content

Nyan33/PetsLoveClub

Repository files navigation

PetLove Club

Возможности

  • Профили пользователей с аватаром, питомцами и галереей.
  • Питомцы и чемпионы - карточки с фото, описанием и достижениями.
  • События клуба - анонсы, регистрация, голосование «нравится».
  • Новости и база знаний - статьи в Markdown с превью через marked.js.
  • Галерея сообщества - посты с питомцами и голосование ±1.
  • Подтверждение email и сброс пароля через PHPMailer + SMTP.
  • Админ-панель с ролями: пользователь / редактор / админ / владелец.
  • Адаптивная вёрстка на Tailwind v4, мобильное меню, плавные анимации, тема - розово-оранжевый градиент.

Стек

  • PHP 8+ (PDO, без Composer; вендорные библиотеки лежат в vendor/)
  • MySQL / MariaDB
  • Tailwind CSS v4 (CLI, без конфиг-файла)
  • Lucide иконки, шрифты Manrope / Montserrat / Cormorant / Comfortaa
  • PHPMailer 6.9.3 (SMTP)
  • marked.min.js (Markdown в превью редакторов)

Локальная установка

  1. Импортировать схему и сиды:
    mysql -u root < sql/petlove_club.sql
    mysql -u root petlove_club < sql/migrate.sql
  2. Установить зависимости фронтенда:
    npm install
  3. (Опционально) включить email-верификацию:
    cp includes/config.example.php includes/config.php
    # отредактировать SMTP-данные
    Без includes/config.php сайт работает в «открытом режиме»: код на почту не отправляется, ограничения для неподтверждённых пользователей не применяются.
  4. Запустить:
    php -S localhost:8000
    либо открыть проект через XAMPP.

Сборка CSS

styles/tailwind.css уже закоммичен - пересобирать нужно только при добавлении новых утилитарных классов:

npx tailwindcss -i ./styles/styles.css -o ./styles/tailwind.css
# режим watch:
npx tailwindcss -i ./styles/styles.css -o ./styles/tailwind.css --watch

Развёртывание в Docker

Готовый стек (Apache + PHP 8.2, MariaDB 11, phpMyAdmin) лежит в docker/ - там же подробная инструкция на русском, конфиги nginx и пример .env.

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

/                          контроллеры страниц (index, events, profile…)
admin/                     админ-панель (роль ≥ 2)
edit/                      редакторы новостей и статей
includes/                  общие подключаемые файлы (БД, авторизация, почта)
sql/                       схема БД и миграции
styles/                    Tailwind: исходник + сборка
uploads/                   пользовательские загрузки (avatars, pets, gallery…)
vendor/                    PHPMailer и marked.min.js (без Composer)
docker/                    docker-compose стек для прод-развёртывания

Подробное описание архитектуры, ролей админ-панели, схемы БД и verification-flow - в CLAUDE.md.

Роли в админке

Роль Код Что может
user 0 базовые действия на сайте
editor 1 создавать и редактировать новости, статьи, события
admin 2 то же + управление пользователями (роль < 2), бан
owner 3 то же + назначение админов, доступ ко всем таблицам

Язык

Контент сайта и значения в БД - на русском. Имена переменных, идентификаторы и комментарии в коде - на английском.

About

Сайт клуба животных. Курсовой проект на стеке PHP + MySQL + Tailwind CSS v4 + ванильный JS, без фреймворков, OOP и шаблонизатора - чистый процедурный PHP, чтобы код легко читался и проверялся.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors