109 lines
3.0 KiB
Markdown
109 lines
3.0 KiB
Markdown
# Клон Linktr.ee на Django + Next.js
|
||
|
||
Полнофункциональное приложение для создания персональных страниц с ссылками, похожее на Linktr.ee.
|
||
|
||
## Технологии
|
||
|
||
**Backend:**
|
||
- Django 5.2 + Django REST Framework
|
||
- PostgreSQL
|
||
- JWT Authentication
|
||
- Django CORS Headers
|
||
- Gunicorn
|
||
|
||
**Frontend:**
|
||
- Next.js 15.3.1
|
||
- React 19
|
||
- TypeScript
|
||
- Tailwind CSS
|
||
- Axios для API запросов
|
||
|
||
## Быстрый старт
|
||
|
||
### 1. Подготовка окружения
|
||
|
||
```bash
|
||
# Клонируйте репозиторий
|
||
git clone <url>
|
||
cd links
|
||
|
||
# Скопируйте переменные окружения
|
||
cp .env.example .env
|
||
```
|
||
|
||
### 2. Запуск проекта
|
||
|
||
```bash
|
||
# Запуск всех сервисов
|
||
make up
|
||
|
||
# Применение миграций базы данных
|
||
make migrate
|
||
```
|
||
|
||
### 3. Доступ к приложению
|
||
|
||
- **Frontend**: http://localhost:3000
|
||
- **Backend API**: http://localhost:8000/api/
|
||
- **Django Admin**: http://localhost:8000/admin/
|
||
|
||
## Команды
|
||
|
||
- `make up` - Запуск всех сервисов
|
||
- `make down` - Остановка всех сервисов
|
||
- `make migrate` - Применение миграций
|
||
- `make test` - Запуск тестов
|
||
|
||
## Структура проекта
|
||
|
||
```
|
||
├── backend/ # Django приложение
|
||
│ ├── api/ # API endpoints
|
||
│ ├── users/ # Пользователи
|
||
│ ├── links/ # Ссылки и группы
|
||
│ ├── customization/ # Настройки дизайна
|
||
│ └── backend/ # Настройки Django
|
||
├── frontend/linktree-frontend/ # Next.js приложение
|
||
├── docker-compose.yml # Docker Compose конфигурация
|
||
├── .env.example # Пример переменных окружения
|
||
└── DEPLOYMENT.md # Подробные инструкции по развертыванию
|
||
```
|
||
|
||
## Переменные окружения
|
||
|
||
Основные переменные в `.env`:
|
||
|
||
```env
|
||
# Django
|
||
DJANGO_SECRET_KEY=your-secret-key
|
||
DJANGO_DEBUG=True
|
||
DJANGO_ALLOWED_HOSTS=127.0.0.1,localhost
|
||
|
||
# PostgreSQL
|
||
DATABASE_NAME=links_db
|
||
DATABASE_USER=links_user
|
||
DATABASE_PASSWORD=links_password
|
||
DATABASE_HOST=db
|
||
DATABASE_PORT=5432
|
||
|
||
# Frontend
|
||
NEXT_PUBLIC_API_URL=http://localhost:8000
|
||
```
|
||
|
||
Подробнее в `DEPLOYMENT.md`.
|
||
|
||
## Особенности
|
||
|
||
- 🔐 JWT аутентификация
|
||
- 👤 Кастомизация профилей
|
||
- 📱 Адаптивный дизайн
|
||
- 🔗 Управление ссылками и группами
|
||
- 🎨 Настройка внешнего вида
|
||
- 📊 API для всех операций
|
||
|
||
## Разработка
|
||
|
||
Проект настроен для разработки в Docker-контейнерах с горячей перезагрузкой.
|
||
|
||
Для разработки без Docker смотрите инструкции в `DEPLOYMENT.md`.
|