An open API service indexing awesome lists of open source software.

https://github.com/coldrayburn/mvc


https://github.com/coldrayburn/mvc

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

          

# Activitar

Добро пожаловать в репозиторий серверной части сайта сети фитнес центров Activitar!
Этот проект создан с акцентом на **современные подходы разработки**, **чистоту кода** и **расширяемость**.

---

## 📌 План работ

### 🧩 Паттерн задачи
- **Роуты:**
Определение маршрутов для обработки запросов.
- **Контроллеры:**
Обработка данных и передача логики в сервисы.
- **Сервисы:**
Реализация бизнес-логики приложения.
- **ДТО (Data Transfer Objects):**
Обеспечение безопасности и унификации входных данных.
- **Вью:**
Генерация ответов для фронтенда (JSON, HTML).
- **API:**
Удобная документация и спецификация (OpenAPI/Swagger).
- **Модули:**
Тестовые реализации для демонстрации возможностей.

---

## ⚙️ Реализации

- **Избранное:**
Добавление/удаление товаров, просмотр избранных позиций.
- **Корзина:**
Управление содержимым корзины, расчет итоговой стоимости.
- **Заказы:**
Оформление заказов и отслеживание их статусов.
- **Регистрация:**
Создание учетной записи пользователя с валидацией.
- **Авторизация:**
Токенизированный доступ к API.

---

## 🚀 Основной функционал

- **Определение местоположения пользователя:**
Автоматическое определение города с помощью IP-адреса или API браузера.
- **Пагинация:**
Удобная разбивка списка товаров по страницам.
- **Умные фильтры:**
Фильтрация товаров по категориям, брендам, ценам и другим параметрам.

---

## 🛠️ Требования к коду

- **Использование только Query-запросов:**
Максимальный контроль над SQL-логикой.
- **Полные PHP теги:**
Использование `< ?php ... ?>` вместо сокращенных вариантов.
- **Минимизация старого ядра:**
Применение современных функций PHP и отказ от устаревших подходов.
- **Избегать суперглобальных переменных:**
Запрет на использование `$_GET`, `$_REQUEST` и аналогичных.
- **Длина метода ≤ 100 строк:**
Поддержка читаемости и структуры кода.
- **Соблюдение ООП:**
Использование интерфейсов, классов и принципов SOLID.