Обновить README.md
parent
7afe3eecb2
commit
ae7456c42d
260
README.md
260
README.md
|
|
@ -1 +1,259 @@
|
|||
laravel-12-tech-specs
|
||||
# 10 тем проектов для самостоятельной разработки
|
||||
|
||||
**Стек:** PHP 8.2+, Laravel 12, Bootstrap 5
|
||||
**Уровень:** Продвинутый новичок
|
||||
**Формат:** Командная работа (2–3 человека)
|
||||
|
||||
---
|
||||
|
||||
## Общие требования ко всем проектам
|
||||
|
||||
- Полноценный 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. Каталог рецептов с рейтингом
|
||||
|
||||
**Описание:** Кулинарная платформа для публикации рецептов, комментирования и оценки.
|
||||
|
||||
**Основные сущности:**
|
||||
- Рецепты (название, описание, шаги, время приготовления, порции, изображение)
|
||||
- Категории (завтрак, обед, ужин, выпечка и т.д.)
|
||||
- Ингредиенты
|
||||
- Комментарии
|
||||
- Оценки (рейтинг 1–5)
|
||||
|
||||
**Роли и права:**
|
||||
- **Администратор** — управление пользователями и модерация контента
|
||||
- **Автор рецепта** — создание/редактирование/удаление своих рецептов
|
||||
- **Пользователь** — просмотр каталога, комментирование, оценка, добавление в избранное
|
||||
|
||||
**Что закрепить:** 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** |
|
||||
Loading…
Reference in New Issue