323e0a2926
Co-authored-by: Cursor <cursoragent@cursor.com>
70 lines
2.2 KiB
Markdown
70 lines
2.2 KiB
Markdown
# Shop
|
||
|
||
Интернет-магазин на **Node.js** с локальной базой **SQLite**.
|
||
|
||
## Возможности
|
||
|
||
- Каталог товаров с категориями и поиском
|
||
- Корзина и оформление заказа
|
||
- Регистрация и вход пользователей
|
||
- История заказов в личном кабинете
|
||
|
||
## Требования
|
||
|
||
- [Node.js](https://nodejs.org/) 18 или новее (вместе с npm)
|
||
|
||
## Установка и запуск
|
||
|
||
```bash
|
||
npm install
|
||
cp .env.example .env # Windows: copy .env.example .env
|
||
npm run dev
|
||
```
|
||
|
||
Сайт: [http://localhost:3000](http://localhost:3000)
|
||
|
||
При первом запуске создаётся база `data/shop.db` и загружаются демо-товары.
|
||
|
||
## Переменные окружения
|
||
|
||
| Переменная | Описание | По умолчанию |
|
||
|-------------------|-----------------------------------|--------------|
|
||
| `PORT` | Порт HTTP-сервера | `3000` |
|
||
| `SESSION_SECRET` | Секрет для подписи сессий | dev-значение |
|
||
|
||
## Скрипты
|
||
|
||
| Команда | Описание |
|
||
|----------------|-----------------------------|
|
||
| `npm start` | Запуск сервера |
|
||
| `npm run dev` | Запуск с автоперезагрузкой |
|
||
| `npm run seed` | Заполнение каталога (если пуст) |
|
||
|
||
## База данных
|
||
|
||
Данные хранятся локально в каталоге `data/`:
|
||
|
||
- `shop.db` — товары, пользователи, заказы
|
||
- `sessions.db` — сессии
|
||
|
||
Каталог `data/` не попадает в git (см. `.gitignore`).
|
||
|
||
## Структура проекта
|
||
|
||
```
|
||
src/
|
||
server.js — точка входа
|
||
db.js — схема SQLite
|
||
seed.js — демо-данные
|
||
routes/ — маршруты
|
||
views/ — шаблоны EJS
|
||
public/css/ — стили
|
||
```
|
||
|
||
## Git remote
|
||
|
||
```bash
|
||
git remote add origin https://git.evilfox.cc/admin/shop.git
|
||
git push -u origin main
|
||
```
|