Это серверная часть (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— кэширование с помощью Redisprisma/schema.prisma— описание моделей базы данных
yarn installСоздайте файл .env на основе примера и укажите параметры подключения к базе данных PostgreSQL, Redis и другие необходимые переменные.
# Применить миграции
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 — основной язык разработки
В проекте реализованы основные сущности: User, Product, Category, Order, Review, Favorites, Profile, OrderItem. Все связи и поля описаны в файле prisma/schema.prisma.