Этот репозиторий содержит backend часть стримингового проекта, который разрабатывается с использованием следующих технологий:
- NestJS — прогрессивный фреймворк для создания эффективных и масштабируемых серверных приложений на Node.js.
- Prisma — современный ORM для работы с базой данных, обеспечивающий типобезопасность и удобство разработки.
- GraphQL — язык запросов для API, который позволяет клиентам запрашивать только те данные, которые им нужны.
- Redis — высокопроизводительное хранилище ключ-значение, используемое для кэширования и управления сессиями.
Frontend часть проекта будет разработана позже с использованием TypeScript.
- Node.js (версия 16 или выше)
- npm или yarn
- Docker (для запуска Redis и базы данных)
- База данных (например, PostgreSQL)
-
Клонируйте репозиторий:
git clone https://github.com/ваш-username/стриминговый-проект.git cd стриминговый-проект -
Установите зависимости:
npm install # или yarn install -
Настройте переменные окружения:
Создайте файл
.envв корне проекта и добавьте необходимые переменные окружения. Пример:DATABASE_URL="postgresql://user:password@localhost:5432/streaming_db" REDIS_URL="redis://localhost:6379" JWT_SECRET="your_jwt_secret"
-
Запустите базу данных и Redis:
Если вы используете Docker, вы можете запустить контейнеры с помощью
docker-compose:docker-compose up -d
-
Примените миграции Prisma:
npx prisma migrate dev
-
Запустите сервер:
npm run start:dev # или yarn start:devСервер будет доступен по адресу:
http://localhost:3000.
- NestJS: Основной фреймворк для построения серверной части.
- Prisma: ORM для работы с базой данных.
- GraphQL: Для создания API с гибкими запросами.
- Redis: Для кэширования и управления сессиями.
- TypeScript: Для типобезопасности и улучшения качества кода.
Проект находится в активной разработке. В ближайших планах:
- Завершение базовой функциональности API.
- Интеграция аутентификации и авторизации.
- Оптимизация кэширования с использованием Redis.
- Разработка фронтенд части на TypeScript.