Обновить README.md

main
MadHowl 2026-04-08 23:38:07 +00:00
parent 7afe3eecb2
commit ae7456c42d
1 changed files with 259 additions and 1 deletions

260
README.md
View File

@ -1 +1,259 @@
laravel-12-tech-specs # 10 тем проектов для самостоятельной разработки
**Стек:** PHP 8.2+, Laravel 12, Bootstrap 5
**Уровень:** Продвинутый новичок
**Формат:** Командная работа (23 человека)
---
## Общие требования ко всем проектам
- Полноценный CRUD для основных сущностей
- Авторизация и разграничение прав (Roles + Gates + Policies)
- Адаптивная вёрстка на Bootstrap 5
- Валидация форм, flash-сообщения, пагинация
- Совместная разработка через Git (ветки, pull request, code review)
---
## Рекомендуемый Git-workflow для команды
1. **Основная ветка** — `main` (защищена, прямой пуш запрещён)
2. **Ветка разработки** — `develop` (сливается в `main` через PR)
3. **Фич-ветки** — `feature/<название>` (например, `feature/categories-crud`)
4. **Правила:**
- Каждый участник работает в своей фич-ветке
- Перед слиянием — код-ревью от другого участника команды
- Конфликты решаются совместно, через обсуждение
- Коммиты по правилам Conventional Commits: `feat:`, `fix:`, `docs:`, `refactor:`
5. **Распределение ролей в команде:**
- Каждый участник — ответственный за определённые модули
- Ротация ролей ревьювера на каждый Pull Request
---
## 1. Система управления задачами (Task Manager)
**Описание:** Веб-приложение для управления личными и командными задачами с возможностью назначения исполнителей и отслеживания статуса.
**Основные сущности:**
- Задачи (название, описание, статус, приоритет, дедлайн)
- Пользователи (исполнитель, постановщик)
- Проекты (группировка задач)
- Комментарии к задачам
**Роли и права:**
- **Администратор** — полный доступ, управление пользователями
- **Менеджер** — создание/редактирование проектов и задач, назначение исполнителей
- **Исполнитель** — просмотр назначенных задач, изменение статуса, добавление комментариев
**Что закрепить:** CRUD задач и проектов, Policies на редактирование/удаление, фильтрация и сортировка, Bootstrap-компоненты (карточки, модальные окна).
---
## 2. Онлайн-магазин с корзиной
**Описание:** Каталог товаров с возможностью добавления в корзину и оформления заказа.
**Основные сущности:**
- Товары (название, описание, цена, изображение, наличие)
- Категории товаров
- Корзина (сессия / БД)
- Заказы (статус, сумма, данные покупателя)
- Позиции заказа
**Роли и права:**
- **Администратор** — управление товарами, категориями, пользователями
- **Менеджер заказов** — просмотр и обновление статусов заказов
- **Покупатель** — просмотр каталога, корзина, оформление заказов, просмотр своих заказов
**Что закрепить:** CRUD товаров с загрузкой изображений, связи многие-ко-многим (категории), работа с сессией, Policies для заказов.
---
## 3. Платформа для онлайн-курсов
**Описание:** Система для публикации и прохождения онлайн-курсов с отслеживанием прогресса.
**Основные сущности:**
- Курсы (название, описание, обложка, автор)
- Уроки (видео, текст, порядок в курсе)
- Студенты (запись на курс, прогресс)
- Тесты/викторины к урокам
- Результаты тестов
**Роли и права:**
- **Администратор** — управление пользователями и всеми курсами
- **Преподаватель** — создание/редактирование своих курсов и уроков
- **Студент** — запись на курсы, прохождение уроков, сдача тестов, просмотр своего прогресса
**Что закрепить:** Вложенный CRUD (курс → уроки), Policies на доступ к урокам, прогресс-бары Bootstrap, отношения многие-ко-многим.
---
## 4. Система бронирования помещений и оборудования
**Описание:** Приложение для бронирования конференц-залов, оборудования или рабочих мест с календарём и подтверждением.
**Основные сущности:**
- Ресурсы (помещения, оборудование — название, описание, вместимость)
- Категории ресурсов
- Бронирования (дата начала/окончания, цель, статус)
- Пользователи (инициатор бронирования)
**Роли и права:**
- **Администратор** — управление ресурсами и пользователями
- **Модератор** — подтверждение/отклонение бронирований, управление расписанием
- **Пользователь** — создание бронирований, просмотр своих и доступных ресурсов
**Что закрепить:** Валидация пересечения дат, календарный интерфейс (Bootstrap), Policies на отмену/редактирование бронирования, статусы.
---
## 5. Портфолио-платформа для фрилансеров
**Описание:** Сервис для публикации портфолио, поиска заказов и обмена отзывами.
**Основные сущности:**
- Профили фрилансеров (навыки, описание, контакты)
- Портфолио-проекты (название, описание, изображение, технологии)
- Категории услуг
- Отзывы и рейтинги
- Заявки на проекты
**Роли и права:**
- **Администратор** — модерация контента, управление пользователями
- **Фрилансер** — управление своим профилем, проектами, просмотр входящих заявок
- **Клиент** — просмотр каталога, отправка заявок, написание отзывов
**Что закрепить:** CRUD портфолио с загрузкой изображений, Policies на редактирование профиля, рейтинги, Bootstrap-карточки и сетка.
---
## 6. Система управления мероприятиями (Event Manager)
**Описание:** Платформа для создания и продвижения мероприятий с регистрацией участников.
**Основные сущности:**
- Мероприятия (название, описание, дата, место, вместимость, обложка)
- Категории (конференции, воркшопы, вебинары)
- Участники (регистрация на мероприятие)
- Комментарии/обсуждения
**Роли и права:**
- **Администратор** — управление пользователями и всеми мероприятиями
- **Организатор** — создание/редактирование своих мероприятий, просмотр списка участников
- **Участник** — регистрация на мероприятия, просмотр расписания, комментарии
**Что закрепить:** CRUD мероприятий, загрузка изображений, Policies на редактирование, валидация вместимости, Bootstrap-модальные окна для регистрации.
---
## 7. Каталог рецептов с рейтингом
**Описание:** Кулинарная платформа для публикации рецептов, комментирования и оценки.
**Основные сущности:**
- Рецепты (название, описание, шаги, время приготовления, порции, изображение)
- Категории (завтрак, обед, ужин, выпечка и т.д.)
- Ингредиенты
- Комментарии
- Оценки (рейтинг 15)
**Роли и права:**
- **Администратор** — управление пользователями и модерация контента
- **Автор рецепта** — создание/редактирование/удаление своих рецептов
- **Пользователь** — просмотр каталога, комментирование, оценка, добавление в избранное
**Что закрепить:** CRUD рецептов, многие-ко-многим (рецепт ↔ ингредиенты), расчёт среднего рейтинга, Policies, Bootstrap-компоненты.
---
## 8. Система управления складом (Inventory Management)
**Описание:** Приложение для учёта товаров на складе с контролем прихода и расхода.
**Основные сущности:**
- Товары (артикул, название, описание, единица измерения)
- Категории товаров
- Поставщики
- Приходные накладные (дата, поставщик, позиции)
- Расходные накладные (дата, получатель, позиции)
- Остатки на складе
**Роли и права:**
- **Администратор** — полный доступ, управление справочниками и пользователями
- **Кладовщик** — оформление прихода/расхода, просмотр остатков
- **Менеджер** — просмотр каталога, формирование отчётов, просмотр истории операций
**Что закрепить:** CRUD с вложенными моделями (накладная → позиции), транзакции БД, Policies, отчёты, Bootstrap-таблицы и навигация.
---
## 9. Платформа для обмена книгами (Book Exchange)
**Описание:** Сервис для обмена книгами между пользователями с системой Wishlist.
**Основные сущности:**
- Книги (название, автор, ISBN, описание, обложка, состояние)
- Категории/жанры
- Обменные предложения (кто, какую книгу предлагает, какую хочет)
- Отзывы об обмене
- Wishlist (список желаемых книг)
**Роли и права:**
- **Администратор** — модерация, управление пользователями
- **Владелец книги** — добавление книг, управление обменными предложениями, подтверждение обмена
- **Запрашивающий** — просмотр каталога, создание запросов на обмен, Wishlist
**Что закрепить:** CRUD книг и предложений, статусы обменов, Policies, Bootstrap-бейджи для статусов, валидация запросов.
---
## 10. Система помощи питомцам (Pet Shelter Management)
**Описание:** Платформа для приюта животных: каталог питомцев, заявки на усыновление, управление волонтёрами.
**Основные сущности:**
- Питомцы (кличка, вид, порода, возраст, описание, фото, статус)
- Категории (кошки, собаки, грызуны и т.д.)
- Заявки на усыновление (данные заявителя, статус, комментарий)
- Волонтёры (имя, контакты, расписание)
- Истории питомцев (обновления, лечение)
**Роли и права:**
- **Администратор** — полный доступ к питомцам, заявкам, волонтёрам
- **Волонтёр** — добавление питомцев, обновление историй, просмотр заявок
- **Потенциальный хозяин** — просмотр каталога, подача заявки на усыновление
**Что закрепить:** CRUD питомцев с фото, статусы заявок, Policies, загрузка файлов, Bootstrap-карточки и прогресс-бары статусов.
---
## Чек-лист минимального функционала для каждого проекта
- [ ] Аутентификация (Laravel Breeze / Jetstream)
- [ ] CRUD для всех основных сущностей
- [ ] Роли пользователей (минимум 3 роли)
- [ ] Gates и Policies для разграничения прав
- [ ] Валидация форм с сообщениями об ошибках
- [ ] Flash-сообщения (успех / ошибка)
- [ ] Пагинация списков
- [ ] Адаптивная вёрстка Bootstrap 5 (навбар, карточки, таблицы, модальные окна, формы)
- [ ] Git-репозиторий с историей коммитов от всех участников
- [ ] Минимум 3 ветки на каждого участника, слитые через Pull Request
---
## Критерии оценки проекта
| Критерий | Баллы |
|---|---|
| Полнота CRUD-операций | 20 |
| Корректность разграничения прав (Gates/Policies) | 20 |
| Качество вёрстки (Bootstrap 5, адаптивность) | 15 |
| Валидация и обработка ошибок | 10 |
| Качество Git-истории (коммиты, ветки, PR) | 15 |
| Совместная работа (вклад каждого участника) | 10 |
| Документация (README, описание проекта) | 10 |
| **Итого** | **100** |