3.0 KiB
3.0 KiB
Клон 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. Подготовка окружения
# Клонируйте репозиторий
git clone <url>
cd links
# Скопируйте переменные окружения
cp .env.example .env
2. Запуск проекта
# Запуск всех сервисов
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:
# 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.