16 KiB
10 тем проектов для самостоятельной разработки
Стек: PHP 8.2+, Laravel 12, Bootstrap 5
Уровень: Продвинутый новичок
Формат: Командная работа (2–3 человека)
Общие требования ко всем проектам
- Полноценный CRUD для основных сущностей
- Авторизация и разграничение прав (Roles + Gates + Policies)
- Адаптивная вёрстка на Bootstrap 5
- Валидация форм, flash-сообщения, пагинация
- Совместная разработка через Git (ветки, pull request, code review)
Рекомендуемый Git-workflow для команды
- Основная ветка —
main(защищена, прямой пуш запрещён) - Ветка разработки —
develop(сливается вmainчерез PR) - Фич-ветки —
feature/<название>(например,feature/categories-crud) - Правила:
- Каждый участник работает в своей фич-ветке
- Перед слиянием — код-ревью от другого участника команды
- Конфликты решаются совместно, через обсуждение
- Коммиты по правилам Conventional Commits:
feat:,fix:,docs:,refactor:
- Распределение ролей в команде:
- Каждый участник — ответственный за определённые модули
- Ротация ролей ревьювера на каждый 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 |