Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
# BugDefect BugDefect - система для работы с досками дефектов: пользователи создают доски, приглашают участников, настраивают статусы и двигают дефекты между колонками. Проект состоит из PHP API на собственном mini-framework, Vue 3 SPA, MySQL и Redis. ## Стек - Backend: PHP 8+, собственный mini-framework, PDO, DI container, middleware, migrations. - Frontend: Vue 3, TypeScript, Vite, Pinia, Vue Router, Axios, Sass. - Database: MySQL 8. - Sessions: PHP sessions через file driver или Redis. - Dev environment: Docker Compose. ## Быстрый Старт ```bash docker compose up --build docker compose exec backend php command.php migrate:run ``` Сервисы: - Frontend: `http://localhost:5173` - Backend API: `http://localhost:8000/api` - MySQL: `localhost:3307` - Redis: `localhost:6379` ## Возможности - Регистрация, вход, выход и получение текущего пользователя. - Сессии через file driver или Redis. - Рабочая зона со списком досок пользователя. - Создание, просмотр и удаление досок. - Роли участников доски: admin, developer, guest. - Приглашения пользователей на доску и уведомления. - Принятие и отклонение приглашений. - Создание, удаление и сортировка статусов доски. - Создание дефектов с исполнителем, автором, статусом и позицией. - Drag-and-drop перенос дефектов между статусами. - Middleware для авторизации, доступа к доске и проверки администратора. ## Архитектура Backend HTTP-точка входа: `backend/public/index.php`. Приложение собирается через `backend/app/bootstrap/app.php`: - регистрирует `Core\Container`; - описывает фабрики для `Request`, `Response`, `Logger`, `Auth`, `Router`; - регистрирует модели, middleware и все API-контроллеры; - передает контейнер в `Router`. `Router` берет контроллеры и middleware из контейнера, поэтому зависимости можно передавать через конструкторы. Для обратной совместимости в контроллерах и моделях оставлены fallback-значения через `?? new ...`. ## Структура ```text backend/ PHP API, mini-framework, routes, migrations backend/Core/ ядро framework: Router, Container, Request, Response, CRUD backend/app/ controllers, models, middleware, bootstrap backend/docs/ документация backend mini-framework frontend/front/ Vue 3 SPA docker-compose.yml локальная инфраструктура IDEAS.md заметки и roadmap ``` ## Полезные Команды ```bash docker compose up --build docker compose down docker compose exec backend php command.php migrate:run docker compose exec backend php command.php migrate:down docker compose exec backend php command.php migrate:fresh docker compose exec frontend npm run build ``` Локально: ```bash cd backend composer install php command.php migrate:run php command.php serve cd ../frontend/front npm install npm run dev ``` ## Проверка ```bash cd backend php -l Core/Container.php php -l app/bootstrap/app.php php -l Core/Router.php cd ../frontend/front npm run type-check npm run build ``` ## Документация - Backend: `backend/README.md` - Frontend: `frontend/front/README.md` - Mini-framework: `backend/docs/README.md` - DI container: `backend/docs/container.md`