PhotoHost — Фотохостинг на Next.js
v1.0.0-beta
Современный фотохостинг с красивым интерфейсом, построенный на Next.js 15, PostgreSQL и Docker Compose.
Возможности
- Drag & drop загрузка изображений
- Мгновенное получение прямой ссылки
- Галерея последних загрузок
- Тёмная тема с современным дизайном
- PostgreSQL для хранения метаданных
- Docker Compose для простого деплоя
Быстрый старт (Docker)
docker compose up --build
Приложение будет доступно на http://localhost:3000
Локальная разработка
- Скопируйте
.env.exampleв.env:
cp .env.example .env
- Запустите PostgreSQL:
docker compose up db -d
- Установите зависимости и запустите:
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/ # Загруженные файлы
Description