Skip to content

Ashimka/Backend-CMS

Repository files navigation

Backend CMS для онлайн-магазина

Описание

Это серверная часть (CMS) для онлайн-магазина, реализованная на базе NestJS и Prisma ORM с использованием PostgreSQL. Приложение поддерживает управление пользователями, товарами, заказами, категориями, отзывами, а также предоставляет административную панель и статистику.

Основные возможности

  • Аутентификация и авторизация (JWT, VK, Yandex, роли пользователей)
  • Управление пользователями (регистрация, профиль, роли)
  • Работа с товарами (CRUD, категории, изображения, избранное)
  • Оформление и управление заказами
  • Отзывы и рейтинги товаров
  • Категории товаров
  • Загрузка и хранение файлов
  • Кэширование с помощью Redis
  • Панель администратора и статистика

Структура проекта

  • src/auth — аутентификация и авторизация
  • src/user — управление пользователями
  • src/product — управление товарами
  • src/order — управление заказами
  • src/category — категории товаров
  • src/review — отзывы о товарах
  • src/file — загрузка и хранение файлов
  • src/dashboard — административная панель
  • src/statistics — статистика по заказам и пользователям
  • src/redis-cache — кэширование с помощью Redis
  • prisma/schema.prisma — описание моделей базы данных

Установка

yarn install

Настройка переменных окружения

Создайте файл .env на основе примера и укажите параметры подключения к базе данных PostgreSQL, Redis и другие необходимые переменные.

Миграции и генерация Prisma Client

# Применить миграции
npx prisma migrate deploy

# Сгенерировать Prisma Client
yarn prisma:gen

Запуск приложения

# Режим разработки
yarn start:dev

# Сборка и запуск в production
yarn build
yarn start:prod

Тестирование

# Юнит-тесты
yarn test

# E2E тесты
yarn test:e2e

# Покрытие тестами
yarn test:cov

Используемые технологии

  • NestJS — серверный фреймворк
  • Prisma ORM — работа с базой данных PostgreSQL
  • Redis — кэширование
  • Jest — тестирование
  • TypeScript — основной язык разработки

Структура базы данных (Prisma)

В проекте реализованы основные сущности: User, Product, Category, Order, Review, Favorites, Profile, OrderItem. Все связи и поля описаны в файле prisma/schema.prisma.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published