| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Система каталогизации медиаконтента — бэкенд для отслеживания фильмов, сериалов, аниме, игр, книг и другого цифрового контента с поддержкой полного CRUD.
| Категория | Технология |
|---|---|
| Backend | NestJS |
| ORM | Prisma |
| Database | PostgreSQL |
| Authentication | JWT (Passport) |
| API Docs | Swagger |
| Validation | class-validator |
| Scheduling | NestJS Schedule |
git clone https://github.com/PartyCorn/AllTrack.git
cd AllTracknpm installУстановите PostgreSQL (версия 14+) и pgAdmin4
Создайте локальный сервер и базу данных
Создайте таблицы:
npx prisma generate
npx prisma db pushНастройте подключение в .env:
DATABASE_URL="postgresql://postgres:password@localhost:5432/alltrack"
JWT_SECRET=your-secret-keydocker run -d \
--name alltrack-postgres \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=password \
-e POSTGRES_DB=alltrack \
-p 5432:5432 \
postgres:14# Генерация Prisma Client
npx prisma generate
# Создание таблиц в PostgreSQL
npx prisma db push
# Применение миграций Prisma
npx prisma migrate dev --name init
# Заполнение базы достижениями
npm run seed# Режим разработки
npm run start:dev
# Или просто
npm run startПриложение будет доступно по адресу: http://localhost:3000
После запуска документация доступна по адресу: http://localhost:3000/docs
src/ ├── auth/ # Аутентификация (JWT) ├── achievements/ # Система достижений ├── comments/ # Комментарии к профилям ├── common/ # Общие утилиты, guards, DTO ├── config/ # Конфигурация ├── franchises/ # Франшизы ├── friends/ # Друзья ├── gamification/ # Геймификация (XP, уровни) ├── kinopoisk/ # Поиск по Кинопоиску ├── notifications/ # Уведомления ├── prisma/ # Сервис Prisma ├── titles/ # Тайтлы (основная сущность) └── users/ # Пользователи
| Метод | Роут | Описание |
|---|---|---|
| Авторизация | ||
| POST | /auth/register | Регистрация |
| POST | /auth/login | Вход |
| Достижения | ||
| GET | /achievements | Все достижения |
| GET | /achievements/:nickname | Достижения пользователя |
| Комментарии | ||
| POST | /comments/profile/:profileId | Оставить комментарий |
| GET | /comments/profile/:profileId | Комментарии профиля |
| PUT | /comments/:profileId | Редактировать комментарий |
| DELETE | /comments/:profileId | Удалить комментарий |
| Франшизы | ||
| GET | /franchises/user/:userId | Франшизы пользователя |
| GET | /franchises/global/search | Поиск франшиз среди пользователей |
| POST | /franchises | Создать франшизу |
| GET | /franchises/:id | Франшиза по ID |
| PUT | /franchises/:id | Обновить франшизу |
| DELETE | /franchises/:id | Удалить франшизу |
| POST | /franchises/:id/titles/:titleId | Прикрепить тайтл |
| DELETE | /franchises/:id/titles/:titleId | Открепить тайтл |
| Друзья | ||
| GET | /friends | Список друзей |
| GET | /friends/requests/incoming | Входящие заявки |
| GET | /friends/requests/outcoming | Исходящие заявки |
| POST | /friends/request/:nickname | Отправить заявку |
| PUT | /friends/accept/:friendId | Принять заявку |
| DELETE | /friends/:friendId | Удалить друга или отклонить заявку |
| Кинопоиск | ||
| GET | /kinopoisk/search | Поиск по названию |
| GET | /kinopoisk/:id/seasons | Получить сезоны и эпизоды |
| Уведомления | ||
| GET | /notifications/me | Уведомления |
| PUT | /notifications/me/read | Прочитать выборочно |
| PUT | /notifications/me/read-all | Прочитать все |
| GET | /notifications/me/stream | Real-time SSE |
| Тайтлы | ||
| GET | /titles/search | Поиск тайтлов с фильтрами |
| GET | /titles/global/search | Поиск тайтлов среди пользователей |
| GET | /titles/user/:userId | Тайтлы пользователя |
| GET | /titles/user/:userId/favorites | Только избранные тайтлы пользователя |
| POST | /titles | Создать франшизу |
| GET | /titles/:id | Франшиза по ID |
| PUT | /titles/:id | Обновить тайтл |
| DELETE | /titles/:id | Удалить тайтл |
| Пользователи | ||
| GET | /users/search | Поиск пользователей по никнейму |
| GET | /users/me | Профиль текущего пользователя |
| PUT | /users/me/edit | Редактирование профиля |
| GET | /users/:nickname | Публичный профиль |
| GET | /users/me/export | Экспорт данных пользователя |
npm run start # Запуск в production
npm run start:dev # Режим разработки (hot-reload)
npm run start:debug # Режим отладки
npm run build # Сборка проекта
npm run prettier # Автоматическое форматирование
npm run lint # Линтинг и исправление
npm run test # Unit тесты
npm run test:cov # Покрытие тестами
npm run test:e2e # E2E тесты
npm run seed # Заполнение БД (achievements)| Переменная | Описание | По умолчанию |
|---|---|---|
| DATABASE_URL | Строка подключения к PostgreSQL | postgresql://... |
| JWT_SECRET | Секретный ключ для JWT | super-secret-key |
Только для просмотра, копирование и использование в своих целях запрещено. Полный текст — в файле LICENSE.
Сделано с ❤️
© Курилов Андрей - 2026
| Back | FazBrowse Home | New Git URL |