# Trip with Benefits

Это репозиторий сайта tripwb. Этот проект включает в себя фронтенд на Next.js и бэкенд на Django.py с базой данных PostgreSQL.

## Описание

Сайт приложения tripwb является аггрегатором для поиска и перевозки посылок

## Технологии

### Фронтенд

- **Next.js** - библиотека для создания пользовательских интерфейсов.

### Бэкенд

- **Django.py** - веб-фреймворк для Python.
- **PostgreSQL** - реляционная база данных для хранения данных.

## Установка

### Предварительные требования

Для запуска проекта вам потребуются:

- Node.js (рекомендуется версия 20.x или выше)
- PostgreSQL (рекомендуется версия 12.x или выше)

### Шаги для установки

1. **Клонирование репозитория:**

   ```sh
   git clone https://gitea.a3-global.com/sysadminix/tripwithbonus.git
   cd tripwb
   ```

2. **Установка зависимостей для фронтенда и бэкенда:**

   ```sh
   cd frontend
   npm install

   cd backend
   pipenv shell
   pipenv install
   ```

3. **Настройка базы данных:**

   Создайте базу данных PostgreSQL и выполните миграции:

   ```sh
   createdb tripwbDB
   # Выполните миграции, если они имеются. В проекте откройте директорию backend
   cd backend
   python manage.py makemigrations
   python manage.py migrate
   ```

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

   Создайте файл `.env` в корневой директории и добавьте необходимые переменные окружения:

   ```env
   # telegram data
   BOT_TOKEN
   CHAT_ID

   # database connection

   DB_USER
   DB_HOST
   DB_NAME
   DB_PASSWORD
   DB_PORT = 5432
   ```

5. **Локальная разработка:**

   Откройте два терминала или используйте вкладки в одном терминале.

   В первом терминале запустите бэкенд:

   ```
   cd backend
   python manage.py runserver
   ```

   Во втором терминале запустите фронтенд:

   ```
   cd frontend
   npm run dev
   ```

Теперь проект будет доступен по адресу `http://localhost:3000`.
