From ae7456c42db9012c0c5c8cb63a93b002ecd8dea2 Mon Sep 17 00:00:00 2001 From: MadHowl Date: Wed, 8 Apr 2026 23:38:07 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 260 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 259 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0102cda..9f825f0 100644 --- a/README.md +++ b/README.md @@ -1 +1,259 @@ -laravel-12-tech-specs \ No newline at end of file +# 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** | \ No newline at end of file