Scribble - это современная платформа для ведения блогов, разработанная с использованием React и Go. Проект предоставляет удобный интерфейс для создания, редактирования и просмотра статей, с поддержкой тегов, лайков и фильтрации контента.
- 🔐 Аутентификация и авторизация пользователей
- 📝 Создание и редактирование статей с rich-text редактором
- 🏷️ Поддержка тегов для категоризации контента
- ❤️ Система лайков
- 🔍 Продвинутая фильтрация и поиск контента
- 📱 Адаптивный дизайн
- React + TypeScript
- Tailwind CSS для стилизации
- React Router для навигации
- Axios для HTTP-запросов
- TinyMCE для rich-text редактирования
- Go (Golang)
- GORM для работы с базой данных
- PostgreSQL
- JWT для аутентификации
- Swagger для API документации
- Go 1.22+
- Node.js 18+
- PostgreSQL 14+
- SMTP-сервер для отправки email
CREATE DATABASE scribble;
CREATE USER scribble_user WITH PASSWORD '123456';
GRANT ALL PRIVILEGES ON DATABASE scribble TO scribble_user;
- Создайте файл
.env
в директорииback
:
# WEB APP CONFIG
APP_IP=localhost
APP_PORT=8080
APP_URL=http://localhost:8080
APP_JWT_SECRET=your_secret_key
# DATABASE CONFIG
DBHOST=localhost
DBPORT=5432
DBNAME=scribble
DBUSER=scribble_user
DBPASS=123456
DBSSLMODE=disable
# SMTP CONFIG
SMTP_SERVER=smtp.yandex.ru
SMTP_MAIL_NAME=your_email@yandex.ru
SMTP_SSL_PORT=465
SMTP_PASSWORD=your_password
SMTP_PAUSE=1000
# AUTH CACHE
AUTH_TIME_TO_LIVE=15
AUTH_CLEANUP_INTERVAL=30
- Запустите backend:
cd back
go mod download
go run main.go
- Создайте файл
.env
в директорииfront
:
VITE_API_KEY=your_api_key
- Установите зависимости и запустите:
cd front
npm install
npm run dev
Swagger UI доступен по адресу:
http://localhost:8080/swagger/index.html