create-exam-project
Version:
Create exam projects with React + Express + PostgreSQL in seconds
105 lines (81 loc) • 3.72 kB
Markdown
# Exam UI Kit - Универсальный набор для демонстрационного экзамена
## 🚀 Быстрый старт
```bash
# 1. Клонируйте или скачайте репозиторий
# 2. Установите все зависимости
npm run install:all
# 3. Выберите вариант задания
npm run setup:variant1 # Буквоежка (обмен книгами)
npm run setup:variant2 # Грузовозофф (грузоперевозки)
npm run setup:variant3 # Корочки.есть (онлайн курсы)
npm run setup:variant4 # Я буду кушац (бронирование столиков)
npm run setup:universal # Универсальный шаблон
# 4. Настройте базу данных PostgreSQL
# Создайте базу данных и укажите параметры в server/.env
# 5. Запустите проект
npm run dev
```
## 📋 Варианты заданий
### Вариант 1: Буквоежка
- Система обмена книгами
- Логин админа: `admin`
- Пароль админа: `bookworm`
### Вариант 2: Грузовозофф
- Система заказа грузоперевозок
- Логин админа: `admin`
- Пароль админа: `gruzovik2024`
### Вариант 3: Корочки.есть
- Система записи на онлайн курсы
- Логин админа: `admin`
- Пароль админа: `education`
### Вариант 4: Я буду кушац
- Система бронирования столиков
- Логин админа: `admin`
- Пароль админа: `restaurant`
## 🛠 Технологический стек
- **Frontend**: React + Vite + Tailwind CSS
- **Backend**: Express + Sequelize
- **Database**: PostgreSQL 16
- **Authentication**: JWT
## 📁 Структура проекта
```
exam-ui-kit/
├── client/ # Frontend на React
│ ├── src/
│ │ ├── components/ # UI компоненты
│ │ ├── pages/ # Страницы
│ │ ├── services/ # API сервисы
│ │ └── variants/ # Конфигурации вариантов
│ └── ...
├── server/ # Backend на Express
│ ├── models/ # Sequelize модели
│ ├── routes/ # API маршруты
│ ├── controllers/ # Контроллеры
│ └── ...
└── scripts/ # Скрипты настройки
```
## 🔧 Настройка окружения
### PostgreSQL
1. Установите PostgreSQL 16
2. Создайте базу данных
3. Скопируйте `server/.env.example` в `server/.env`
4. Заполните параметры подключения
### Переменные окружения (.env)
```env
DB_HOST=localhost
DB_PORT=5432
DB_NAME=exam_db
DB_USER=postgres
DB_PASSWORD=your_password
JWT_SECRET=your_secret_key
PORT=5000
```
## 📱 Мобильная версия
Каждый вариант включает адаптивный дизайн для мобильных устройств (390x844px).
## 🎨 Кастомизация
Для изменения варианта под свои нужды:
1. Отредактируйте конфигурацию в `client/src/variants/`
2. Измените модели в `server/models/`
3. Обновите маршруты и контроллеры
## 📞 Поддержка
При возникновении вопросов обращайтесь к документации или создайте issue.