https://github.com/notacat1/kupipodariday-backend
The KupiPodariDay project implements an API for user registration and authentication using NestJS and PostgreSQL. This application offers features for creating new users, logging in, retrieving user data, and managing their wishes.
https://github.com/notacat1/kupipodariday-backend
jest nestjs postgresql typescript
Last synced: about 2 months ago
JSON representation
The KupiPodariDay project implements an API for user registration and authentication using NestJS and PostgreSQL. This application offers features for creating new users, logging in, retrieving user data, and managing their wishes.
- Host: GitHub
- URL: https://github.com/notacat1/kupipodariday-backend
- Owner: NotACat1
- Created: 2024-07-01T08:17:53.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-25T12:56:08.000Z (over 1 year ago)
- Last Synced: 2025-01-11T10:17:03.593Z (over 1 year ago)
- Topics: jest, nestjs, postgresql, typescript
- Language: TypeScript
- Homepage:
- Size: 311 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# КупиПодариДай





Проект **КупиПодариДай** реализует API для регистрации и авторизации пользователей, используя NestJS и PostgreSQL. Это приложение предоставляет функции для создания новых пользователей, входа в систему, получения данных о пользователях и управления их пожеланиями.
## Установка
1. **Клонируйте репозиторий:**
```bash
git clone https://github.com/NotACat1/kupipodariday-backend.git
cd kupipodariday-backend
```
2. **Установите зависимости:**
```bash
npm install
```
3. **Настройте переменные окружения:**
Переименуйте файл `.env.example` в `.env` и обновите его, указав свои настройки окружения.
```bash
mv .env.example .env
```
Пример файла `.env`:
```env
DB_HOST=localhost
DB_PORT=5432
DB_NAME=your_db
DB_USER=your_db_user
DB_PASSWORD=your_db_password
JWT_SECRET=your_jwt_secret
JWT_EXPIRATION=your_jwt_expiration
BCRYPT_SALT_ROUNDS=your_bcrypt_salt_rounds
PORT=3000
```
4. **Создайте базу данных PostgreSQL:**
Убедитесь, что PostgreSQL установлен и запущен. Создайте новую базу данных и обновите файл `.env` с вашими учетными данными.
5. **Запустите миграции базы данных:**
Если у вас настроены миграции, запустите их командой:
```bash
npm run migration:run
```
## Запуск проекта
1. **Запустите сервер разработки:**
```bash
npm run start:dev
```
Сервер будет запущен на `http://localhost:3000`.
2. **Сборка проекта:**
Для запуска в режиме продакшн:
```bash
npm run build
npm run start:prod
```
## Скрипты npm
В проекте используются следующие скрипты:
- **`prepare`**: Устанавливает Husky для управления Git хуками.
- **`prebuild`**: Удаляет папку `dist` перед сборкой.
- **`build`**: Собирает проект с использованием команды `nest build`.
- **`format`**: Форматирует файлы TypeScript с помощью Prettier.
- **`start`**: Запускает проект.
- **`start:dev`**: Запускает проект в режиме разработки с автоматическим перезапуском при изменениях.
- **`start:debug`**: Запускает проект в режиме отладки.
- **`start:prod`**: Запускает скомпилированный проект в режиме продакшн.
- **`lint`**: Запускает ESLint для проверки и исправления кода.
- **`test`**: Запускает тесты с использованием Jest.
- **`test:watch`**: Запускает тесты в режиме слежения за изменениями.
- **`test:cov`**: Запускает тесты с генерацией отчета о покрытии кода.
- **`test:debug`**: Запускает тесты в режиме отладки.
- **`test:e2e`**: Запускает end-to-end тесты.
- **`typeorm`**: Команда для выполнения действий с TypeORM.
- **`migration:generate`**: Генерирует новую миграцию.
- **`migration:run`**: Выполняет миграции.
- **`migration:revert`**: Отменяет последнюю выполненную миграцию.
## API Endpoints
Документация со всеми доступными командами и маршрутами API доступна на [SwaggerHub](https://app.swaggerhub.com/apis/zlocate/KupiPodariDay/1.0.0/).