99 lines
2.4 KiB
Markdown
99 lines
2.4 KiB
Markdown
# Быстрый старт
|
|
|
|
## Установка и запуск всего проекта
|
|
|
|
### 1. Установка зависимостей
|
|
|
|
```bash
|
|
# Backend
|
|
npm install
|
|
|
|
# Frontend
|
|
cd client
|
|
npm install
|
|
cd ..
|
|
```
|
|
|
|
### 2. Настройка базы данных
|
|
|
|
Убедитесь, что PostgreSQL запущен и создайте базу данных:
|
|
|
|
```bash
|
|
# Выполните SQL скрипты
|
|
psql -U postgres -d shop_platform -f sql/1_schema.sql
|
|
psql -U postgres -d shop_platform -f sql/2_seed_data.sql
|
|
psql -U postgres -d shop_platform -f sql/3_triggers.sql
|
|
psql -U postgres -d shop_platform -f sql/4_indexes.sql
|
|
```
|
|
|
|
### 3. Настройка переменных окружения (опционально)
|
|
|
|
Создайте файл `.env` в корне проекта или настройте `conf/config.yml`
|
|
|
|
### 4. Запуск
|
|
|
|
#### Вариант 1: Запуск в отдельных терминалах
|
|
|
|
**Терминал 1 - Backend:**
|
|
```bash
|
|
npm run dev
|
|
```
|
|
|
|
**Терминал 2 - Frontend:**
|
|
```bash
|
|
npm run client:dev
|
|
```
|
|
|
|
#### Вариант 2: Использование npm скриптов
|
|
|
|
```bash
|
|
# Backend
|
|
npm run dev
|
|
|
|
# Frontend (в другом терминале)
|
|
npm run client:dev
|
|
```
|
|
|
|
### 5. Доступ к приложению
|
|
|
|
- **Frontend**: http://localhost:3000
|
|
- **Backend API**: http://localhost:80
|
|
- **Swagger UI**: http://localhost:80/docs
|
|
|
|
## Структура URL
|
|
|
|
- Главная: http://localhost:3000/
|
|
- Каталог товаров: http://localhost:3000/products
|
|
- Категории: http://localhost:3000/categories
|
|
- Корзина: http://localhost:3000/cart
|
|
|
|
## Настройка API URL для фронтенда
|
|
|
|
По умолчанию фронтенд обращается к `http://localhost:80/api/v1`.
|
|
|
|
Для изменения создайте файл `client/.env`:
|
|
|
|
```env
|
|
VITE_API_URL=http://your-backend-url/api/v1
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### CORS ошибки
|
|
|
|
Убедитесь, что в бэкенде включен CORS и разрешены запросы с `http://localhost:3000`
|
|
|
|
### Порт занят
|
|
|
|
Измените порт фронтенда в `client/vite.config.js`:
|
|
|
|
```js
|
|
server: {
|
|
port: 3001, // вместо 3000
|
|
}
|
|
```
|
|
|
|
### API не отвечает
|
|
|
|
Проверьте, что бэкенд запущен и доступен по адресу, указанному в `VITE_API_URL`
|