🐱 CatLink - Персональные страницы ссылок
CatLink - современная платформа для создания красивых персональных страниц со всеми важными ссылками в одном месте. Альтернатива Linktree с открытым исходным кодом.
🚀 Быстрый старт
Мастер-развертывание (Рекомендуется)
Автоматическое развертывание с настройкой SSL, безопасности и всех компонентов:
# 1. Проверка готовности системы
make pre-deploy-check
# 2. Мастер-развертывание
make deploy
Что включает:
- ✅ Автоматическая генерация .env с безопасными ключами
- ✅ Настройка PostgreSQL с полной изоляцией
- ✅ Let's Encrypt SSL сертификаты
- ✅ Nginx с security headers
- ✅ Автоматические backup
- ✅ Мониторинг и health checks
📖 Подробное руководство: DEPLOYMENT.md
Для разработки
# Клонирование
git clone https://github.com/smartsoltech/links.git
cd links
# Установка и запуск
make install
make dev
✨ Возможности
-
🎨 Множество макетов: список, сетка, компактная сетка, журнальная верстка
-
🎭 Персонализация: настройка цветов, фонов, иконок
-
📱 Адаптивный дизайн: отлично работает на всех устройствах
-
🔐 Система аутентификации: регистрация и управление профилем
-
📊 Группировка ссылок: организация ссылок по категориям
-
🌐 SEO-оптимизация: дружественные URL и метатеги
-
🚀 Высокая производительность: быстрая загрузка и отзывчивость
-
🐳 Docker Ready: простой деплой с помощью контейнеров
🚀 Быстрый старт
Требования
- Docker и Docker Compose
- Make (для удобства)
- Git
Установка
-
Клонируйте репозиторий
git clone https://github.com/smartsoltech/links.git cd links -
Запустите установку2. Запустите установку
bashbashmake install make install
-
Откройте в браузере3. Откройте в браузере
-
Frontend: http://localhost:3000 - Frontend: http://localhost:3000
-
Backend API: http://localhost:8000 - Backend API: http://localhost:8000
-
Django Admin: http://localhost:8000/admin - Django Admin: http://localhost:8000/admin
-
Альтернативная установка (без Make)
# Копируйте пример конфигурации
cp .env.example .en
# Отредактируйте .env файл
nano .env
# Запустите контейнеры
docker-compose up -d --build
# Примените миграции
docker-compose exec web python manage.py migrate
# Создайте суперпользователя
docker-compose exec web python manage.py createsuperuser
📋 Управление с помощью Make
Проект включает мощный Makefile для упрощения разработки:
bashbash
make help # Показать все доступные команды
make dev-bg # Запуск для разработки в фоне
make status # Проверить статус сервисов
make health # Проверить работоспособность
make logs # Просмотр логов
make migrate-full # Выполнить миграции и собрать статику
make backup # Создать бэкап базы данных
📖 **[Полное руководство по Makefile](./docs/MAKEFILE.md)**
## 🏗️ Архитектура
### Технологический стек
- **Frontend**: Next.js 15, React, TypeScript, Bootstrap 5
- **Backend**: Django 5.2, Django REST Framework**Backend:**
- **База данных**: PostgreSQL- Django 5.2 + Django REST Framework
- **Контейнеризация**: Docker, Docker Compose- PostgreSQL
- **Веб-сервер**: Nginx (для продакшена)- JWT Authentication
- Django CORS Headers
### Структура проекта- Gunicorn
catlink/Frontend:
├── frontend/linktree-frontend/ # Next.js приложение- Next.js 15.3.1
├── backend/ # Django API- React 19
├── scripts/ # Скрипты автоматизации- TypeScript
├── docs/ # Документация- Tailwind CSS
├── storage/ # Загруженные файлы- Axios для API запросов
├── docker-compose.yml # Конфигурация Docker
├── Makefile # Команды автоматизации## Быстрый старт
└── README.md # Этот файл
## 🎯 Использование```bash
# Клонируйте репозиторий
### Для пользователейgit clone <url>
cd links
1. **Регистрация**: Создайте аккаунт на главной странице
2. **Настройка профиля**: Загрузите аватар, укажите информацию# Скопируйте переменные окружения
3. **Создание групп**: Организуйте ссылки по категориямcp .env.example .env
4. **Добавление ссылок**: Добавьте свои социальные сети и сайты```
5. **Персонализация**: Выберите макет и цветовую схему
6. **Публикация**: Поделитесь своей персональной ссылкой### 2. Запуск проекта
### Для разработчиков```bash
# Запуск всех сервисов
Подробные инструкции по разработке и развертыванию:make up
- 📚 **[Руководство по Makefile](./docs/MAKEFILE.md)** - Все команды разработки# Применение миграций базы данных
- 🚀 **[Руководство по деплою](./docs/DEPLOYMENT.md)** - Развертывание в продакшенеmake migrate
- 🔧 **[Исправления и патчи](./docs/FIXES.md)** - Известные проблемы и решения```
## 🛠️ Разработка### 3. Доступ к приложению
### Режим разработки- **Frontend**: http://localhost:3000
```bash- **Backend API**: http://localhost:8000/api/
# Запуск для разработки- **Django Admin**: http://localhost:8000/admin/
make dev-bg
## Команды
# Просмотр логов
make logs-web # Backend- `make up` - Запуск всех сервисов
make logs-frontend # Frontend- `make down` - Остановка всех сервисов
- `make migrate` - Применение миграций
# Работа с базой данных- `make test` - Запуск тестов
make migrate # Применить миграции
make shell # Django shell## Структура проекта
make shell-db # Подключение к БД
├── backend/ # Django приложение
Тестирование│ ├── api/ # API endpoints
make test # Запуск тестов│ ├── links/ # Ссылки и группы
make lint # Проверка кода│ ├── customization/ # Настройки дизайна
make format # Форматирование кода│ └── backend/ # Настройки Django
```├── frontend/linktree-frontend/ # Next.js приложение
├── docker-compose.yml # Docker Compose конфигурация
### Работа с данными├── .env.example # Пример переменных окружения
```bash└── DEPLOYMENT.md # Подробные инструкции по развертыванию
make backup # Создать бэкап```
make restore # Восстановить из бэкапа
make clean # Очистить систему## Переменные окружения
Основные переменные в .env:
🚀 Деплой в продакшен
### Простой деплой# Django
```bashDJANGO_SECRET_KEY=your-secret-key
make deployDJANGO_DEBUG=True
```DJANGO_ALLOWED_HOSTS=127.0.0.1,localhost
### С SSL сертификатом# PostgreSQL
```bashDATABASE_NAME=links_db
# Настройка SSLDATABASE_USER=links_user
make ssl-host-setup DOMAIN=catlinks.kr EMAIL=admin@catlinks.krDATABASE_PASSWORD=links_password
DATABASE_HOST=db
# Или ручная настройкаDATABASE_PORT=5432
make ssl-setup
make ssl-cert# Frontend
```NEXT_PUBLIC_API_URL=http://localhost:8000
📖 Подробное руководство по деплою
Подробнее в DEPLOYMENT.md.
🤝 Вклад в проект
Особенности
Мы приветствуем вклад в развитие проекта!
- 🔐 JWT аутентификация
Как принять участие:- 👤 Кастомизация профилей
-
Форкните репозиторий- 📱 Адаптивный дизайн
-
Создайте ветку для новой функции:
git checkout -b feature/amazing-feature- 🔗 Управление ссылками и группами -
Зафиксируйте изменения:
git commit -m 'Add amazing feature'- 🎨 Настройка внешнего вида -
Отправьте в ветку:
git push origin feature/amazing-feature- 📊 API для всех операций -
Откройте Pull Request
Разработка
Правила разработки:
-
Следуйте существующему стилю кодаПроект настроен для разработки в Docker-контейнерах с горячей перезагрузкой.
-
Добавляйте тесты для новых функций
-
Обновляйте документацию при необходимостиДля разработки без Docker смотрите инструкции в
DEPLOYMENT.md. -
Проверяйте код:
make lint
📄 Лицензия
Этот проект распространяется под лицензией MIT. См. файл LICENSE для подробностей.
🆘 Поддержка
Часто задаваемые вопросы
Q: Как изменить порт приложения?
A: Отредактируйте .env файл и измените переменные FRONTEND_PORT и BACKEND_PORT.
Q: Как добавить собственные домены?
A: Используйте make ssl-host-setup DOMAIN=yourdomain.com EMAIL=your@email.com
Q: Приложение не запускается
A: Проверьте статус: make health и логи: make logs
Получить помощь
- 📖 Проверьте документацию
- 🐛 Создайте issue
🙏 Благодарности
- Next.js - за потрясающий React фреймворк
- Django - за надежный backend фреймворк
- Bootstrap - за отличные компоненты UI
- Сообществу open source за вдохновение
Сделано с ❤️ командой SmartSolTech