Персональный блог с интеграцией социальных сетей и расширенными возможностями публикации контента.
- Frontend: Next.js 14, React, Tailwind CSS, Apollo Client
- Backend: Hasura GraphQL Engine, PostgreSQL
- Авторизация: NextAuth.js с JWT интеграцией для Hasura
- Деплой: Docker, Docker Compose
blog-app/- Next.js приложениеhasura/- Конфигурация Hasura и Docker Compose
- Авторизация через социальные сети (GitHub)
- Создание и публикация постов с различными типами блоков контента
- Интеграция с социальными сетями для кросс-постинга
- Аналитика публикаций
- Управление подписчиками
-
Основные таблицы:
- users - пользователи системы
- posts - посты блога с поддержкой сетки (layout_json)
- post_blocks - блоки контента в постах (текст, изображения, видео и т.д.)
-
Таблицы для соцсетей:
- social_accounts - подключенные аккаунты соцсетей
- social_publications - публикации в соцсетях
- social_stats - статистика по публикациям
-
Таблицы для авторизации:
- webauthn_credentials - учетные данные для биометрической авторизации
-
Дополнительные таблицы:
- subscribers - подписчики блога
- Node.js 18+
- Docker и Docker Compose
- Git
- Клонировать репозиторий:
git clone https://github.com/Aruseli/neuromental_blog.git
cd neuromental_blog- Установить зависимости:
cd blog-app
npm install- Создать файл
.env.localв директорииblog-appс необходимыми переменными окружения:
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your-secret-key
GITHUB_ID=your-github-client-id
GITHUB_SECRET=your-github-client-secret
NEXT_PUBLIC_HASURA_ENDPOINT=http://localhost:8080/v1/graphql
- Запустить Hasura и PostgreSQL через Docker Compose:
cd ../hasura
docker-compose up -d- Запустить Next.js приложение:
cd ../blog-app
npm run dev- Открыть приложение в браузере: http://localhost:3000
MIT