Магазин игровой периферии с современным стеком технологий.
https://img.mvideo.ru/Big/30093442bb.jpg?width=600&fmt=avif
- FastAPI - Современный веб-фреймворк для Python
- SQLAlchemy - ORM для работы с базой данных
- Alembic - Инструмент для миграций базы данных
- PostgreSQL - Реляционная база данных
- Pydantic - Валидация данных
- Vue.js 3 - Прогрессивный JavaScript фреймворк
- TypeScript - Статическая типизация
- Vite - Сборщик модулей
- Vue Router - Маршрутизация
- Pinia - Управление состоянием
- Axios - HTTP клиент
peripherals-store/
├── backend/ # Backend на FastAPI
│ ├── app/
│ │ ├── models/ # SQLAlchemy модели
│ │ ├── schemas/ # Pydantic схемы
│ │ ├── routers/ # API роутеры
│ │ ├── crud/ # CRUD операции
│ │ └── database/ # Настройка БД
│ ├── alembic/ # Миграции
│ └── main.py # Точка входа
└── frontend/ # Frontend на Vue.js
└── src/
├── components/ # Vue компоненты
├── views/ # Страницы
├── router/ # Vue Router
├── stores/ # Pinia хранилища
├── api/ # API клиенты
└── types/ # TypeScript типы
- Python 3.10+
- Node.js 18+
- PostgreSQL 14+
- Перейдите в директорию backend:
cd backend- Создайте виртуальное окружение:
python -m venv venv- Активируйте виртуальное окружение:
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activate- Установите зависимости:
pip install -r requirements.txt-
Создайте базу данных через pgAdmin:
- Откройте pgAdmin 4
- Подключитесь к серверу PostgreSQL (localhost:5432)
- Нажмите правой кнопкой на "Databases" -> "Create" -> "Database..."
- В поле "Database name" введите:
peripherals_store - Нажмите "Save"
-
Настройте подключение в файле
.env:
DATABASE_URL=postgresql://postgres:your_password@localhost:5432/peripherals_store
Замените your_password на ваш пароль пользователя postgres.
- Запустите миграции:
alembic upgrade head- Добавьте тестовые данные:
python init_db.py- Запустите сервер:
uvicorn main:app --reloadAPI будет доступно по адресу: http://localhost:8000
Документация API: http://localhost:8000/docs
Для быстрого запуска всех сервисов через Docker:
docker-compose up --buildПриложение будет доступно:
- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
- API документация: http://localhost:8000/docs
Подробнее см. DOCKER.md
- Откройте новый терминал и перейдите в директорию frontend:
cd frontend- Установите зависимости:
npm install- Запустите сервер разработки:
npm run devПриложение будет доступно по адресу: http://localhost:5173
GET /products- Получить список товаровGET /products/search?q=query- Поиск товаровGET /products/{id}- Получить товар по IDPOST /products- Создать новый товарPUT /products/{id}- Обновить товарDELETE /products/{id}- Удалить товар
- ✅ Каталог товаров с карточками
- ✅ Поиск товаров по названию, описанию и категории
- ✅ Фильтрация по категориям
- ✅ Страница отдельного товара
- ✅ Отображение наличия на складе
- ✅ Адаптивный дизайн
- ✅ CORS настройка для фронтенда
- 🛒 Корзина покупок
- 👤 Авторизация пользователей
- 📦 Управление заказами
- ⭐ Отзывы и рейтинги
- 🎨 Темная тема
- 📱 PWA поддержка
MIT