@@ -0,0 +1,69 @@
|
||||
# PhotoHost — Фотохостинг на Next.js
|
||||
|
||||
Современный фотохостинг с красивым интерфейсом, построенный на Next.js 15, PostgreSQL и Docker Compose.
|
||||
|
||||
## Возможности
|
||||
|
||||
- Drag & drop загрузка изображений
|
||||
- Мгновенное получение прямой ссылки
|
||||
- Галерея последних загрузок
|
||||
- Тёмная тема с современным дизайном
|
||||
- PostgreSQL для хранения метаданных
|
||||
- Docker Compose для простого деплоя
|
||||
|
||||
## Быстрый старт (Docker)
|
||||
|
||||
```bash
|
||||
docker compose up --build
|
||||
```
|
||||
|
||||
Приложение будет доступно на [http://localhost:3000](http://localhost:3000)
|
||||
|
||||
## Локальная разработка
|
||||
|
||||
1. Скопируйте `.env.example` в `.env`:
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
2. Запустите PostgreSQL:
|
||||
|
||||
```bash
|
||||
docker compose up db -d
|
||||
```
|
||||
|
||||
3. Установите зависимости и запустите:
|
||||
|
||||
```bash
|
||||
npm install
|
||||
npx prisma db push
|
||||
npm run dev
|
||||
```
|
||||
|
||||
## Стек
|
||||
|
||||
- **Frontend:** Next.js 15, React 19, Tailwind CSS 4
|
||||
- **Backend:** Next.js API Routes
|
||||
- **База данных:** PostgreSQL 16 + Prisma ORM
|
||||
- **Инфраструктура:** Docker Compose
|
||||
|
||||
## API
|
||||
|
||||
| Метод | Путь | Описание |
|
||||
|-------|------|----------|
|
||||
| POST | `/api/upload` | Загрузка изображения (multipart/form-data) |
|
||||
| GET | `/api/photos` | Список последних фото |
|
||||
|
||||
## Структура
|
||||
|
||||
```
|
||||
├── docker-compose.yml # PostgreSQL + App
|
||||
├── Dockerfile # Production сборка
|
||||
├── prisma/schema.prisma # Схема БД
|
||||
├── src/
|
||||
│ ├── app/ # Next.js App Router
|
||||
│ ├── components/ # UI компоненты
|
||||
│ └── lib/ # Prisma клиент
|
||||
└── public/uploads/ # Загруженные файлы
|
||||
```
|
||||
Reference in New Issue
Block a user