дипломный проект · интернет-магазин оздоровительных услуг
MedOil — веб-сайт оздоровительных услуг и продукции
MedOil — учебно-боевой проект интернет-магазина, где пользователь может посмотреть каталог оздоровительных товаров, собрать корзину, оформить заказ и записаться на консультацию. Для владельца есть админ-панель с управлением товарами, заказами и заявками.
Цель проекта
Основная цель — разработать работающий прототип интернет-сервиса для компании оздоровительных услуг, через который клиент может:
- посмотреть каталог товаров и услуг;
- добавить позиции в корзину и оформить заказ;
- записаться на консультацию к специалисту;
- видеть свои заказы в личном кабинете.
Со стороны владельца проекта система должна позволять:
- управлять товарами и услугами через админ-панель;
- просматривать заказы и менять их статусы;
- получать заявки на консультацию и работать с ними;
- хранить базу клиентов, заказов и записей в одной БД.
Функциональность
Пользователь
- Регистрация и авторизация с проверкой данных.
- Личный кабинет с данными профиля.
- Просмотр каталога товаров и услуг.
- Карточка товара с описанием и ценой.
Корзина и заказы
- Добавление товаров в корзину без перезагрузки страницы.
- Анимированный счётчик количества товаров (Alpine.js).
- Изменение количества, удаление позиций, пересчёт суммы.
- Оформление заказа и запись в таблицу
orders.
Консультации и админ-панель
- Форма записи на консультацию (таблица
appointments). - Админ-панель с просмотром заказов и заявок.
- Изменение статусов заказов (новый / в работе / завершён).
- Управление товарами: активация/деактивация позиций.
Технологический стек
Backend и база данных
- PHP — обработка форм, работа с сессиями, авторизация, логика корзины и заказов.
- MySQL — таблицы
users,products,orders,appointmentsи др. - Связи между таблицами по ключам пользователя и заказов.
- Проверка входа и ограничение доступа к админ-панели.
Frontend и интерфейс
- Tailwind CSS — адаптивная верстка, быстрый прототипинг без ручного CSS.
- JavaScript — работа с DOM, обновление корзины, интерактивность форм.
- Alpine.js — анимированный счётчик товаров, простая реактивность.
- Node.js — окружение для сборки и работы с Tailwind (dev-скрипты).
Архитектура и структура проекта
Структура файлов
/public— основные страницы (главная, каталог, корзина, ЛК)./admin— административная часть, работа с товарами и заказами./includes— общие компоненты (header, footer, подключение к БД)./assets— скрипты, стили, изображения.
Модель данных
users— данные пользователей и их учётные записи.products— товары и услуги (название, описание, цена, статус).orders— заказы, связанные с пользователями.appointments— записи на консультации.
Особенности реализации
- Разделение клиентской и административной логики.
- Переиспользуемые include-файлы для шапки, подвала и БД.
- Обновление корзины без перезагрузки страницы.
- Подготовка к расширению (новые роли, типы услуг, фильтры).
Моя роль в проекте
В MedOil я выполнял роль full-stack разработчика: от проектирования структуры БД и продумывания функционала до верстки и написания клиентской логики.
Ключевые задачи, которые я решал:
- Спроектировал структуру базы данных и связи между таблицами.
- Реализовал регистрацию, авторизацию и базовый личный кабинет.
- Сделал корзину с динамическим обновлением и записью заказов в БД.
- Разработал прототип админ-панели для работы с заказами и товарами.
- Сверстал основные страницы с помощью Tailwind CSS.
Исходный код
GitHub-репозиторий проекта
github.com/MorFusti/MedOil