🇷🇺 Русская версия | 🇬🇧 English Version
Club XXI is a web platform for managing a book club community. It provides features for sharing book recommendations, writing reviews, organizing meetings, and fostering literary discussions among members.
- Frontend: Next.js 15 with TypeScript
- Backend: Strapi CMS (Headless CMS)
- Styling: Tailwind CSS
- Authentication: JWT-based authentication
- Database: SQLite (default) / PostgreSQL (production)
- Deployment: Vercel (frontend) / Strapi Cloud (backend)
Club_XXI/
├── frontend/ # Next.js application
│ ├── src/
│ │ ├── app/ # App Router pages
│ │ ├── components/ # Reusable components
│ │ └── lib/ # Utilities and API calls
│ ├── public/ # Static assets
│ └── package.json
├── backend/ # Strapi CMS
│ ├── src/
│ │ ├── api/ # API endpoints
│ │ └── admin/ # Admin panel configuration
│ ├── config/ # Strapi configuration
│ └── package.json
├── .gitignore
└── README.md
- Node.js (v18 or higher)
- npm or yarn
- Git
-
Clone the repository
git clone https://github.com/yourusername/Club_XXI.git cd Club_XXI -
Backend Setup (Strapi)
cd backend npm install # Copy environment example cp .env.example .env # Edit .env with your configuration # Set database credentials, JWT secrets, etc. # Build and start the backend npm run build npm run start
-
Frontend Setup (Next.js)
cd frontend npm install # Create environment file echo "NEXT_PUBLIC_STRAPI_URL=http://localhost:1337" > .env.local # Start development server npm run dev
cd backend
npm run develop # Development mode with auto-reloadAccess Strapi admin panel at: http://localhost:1337/admin
cd frontend
npm run dev # Development server
npm run build # Production build
npm run start # Production serverAccess the website at: http://localhost:3000
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
npm run develop- Start development servernpm run start- Start production servernpm run build- Build the admin panelnpm run strapi- Run Strapi CLI commands
NEXT_PUBLIC_STRAPI_URL=http://localhost:1337
SITE_PASSWORD_HASH=your_hashed_password
HOST=0.0.0.0
PORT=1337
APP_KEYS=your_app_keys
API_TOKEN_SALT=your_api_token_salt
ADMIN_JWT_SECRET=your_admin_jwt_secret
TRANSFER_TOKEN_SALT=your_transfer_token_salt
JWT_SECRET=your_jwt_secret
- Book Management: Add, edit, and browse book collection
- Author Profiles: Maintain author information and biographies
- Blog Posts: Share thoughts, reviews, and literary discussions
- Meeting Organization: Schedule and manage book club meetings
- Authentication: Secure access to club features
- Responsive Design: Mobile-friendly interface
Ready to deploy your application to production?
Quick Start: See QUICK-DEPLOY.md for a fast-track deployment guide (8 minutes total).
Detailed Guide: See DEPLOYMENT.md for comprehensive deployment instructions including:
- Deploying backend to Strapi Cloud
- Deploying frontend to Vercel
- Environment configuration
- CORS setup
- Troubleshooting
The deployment process will migrate from SQLite to PostgreSQL and set up your app in the cloud with automated CI/CD.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Club XXI - это веб-платформа книжного клуба. Она предоставляет возможности для обмена книгами, написания отзывов, организации встреч и развития литературных дискуссий между участниками.
- Frontend: Next.js 15 с TypeScript
- Backend: Strapi CMS (Headless CMS)
- Стилизация: Tailwind CSS
- Аутентификация: JWT-аутентификация
- База данных: SQLite (по умолчанию) / PostgreSQL (для продакшена)
- Развертывание: Vercel (frontend) / Railway/Heroku (backend)
Club_XXI/
├── frontend/ # Next.js приложение
│ ├── src/
│ │ ├── app/ # Страницы App Router
│ │ ├── components/ # Переиспользуемые компоненты
│ │ └── lib/ # Утилиты и API вызовы
│ ├── public/ # Статические ресурсы
│ └── package.json
├── backend/ # Strapi CMS
│ ├── src/
│ │ ├── api/ # API эндпоинты
│ │ └── admin/ # Конфигурация админ панели
│ ├── config/ # Конфигурация Strapi
│ └── package.json
├── .gitignore
└── README.md
- Node.js (v18 или выше)
- npm или yarn
- Git
-
Клонирование репозитория
git clone https://github.com/yourusername/Club_XXI.git cd Club_XXI -
Настройка Backend (Strapi)
cd backend npm install # Копирование примера окружения cp .env.example .env # Редактирование .env с вашими настройками # Установите учетные данные БД, JWT секреты и т.д. # Сборка и запуск backend npm run build npm run start
-
Настройка Frontend (Next.js)
cd frontend npm install # Создание файла окружения echo "NEXT_PUBLIC_STRAPI_URL=http://localhost:1337" > .env.local # Запуск сервера разработки npm run dev
cd backend
npm run develop # Режим разработки с авто-перезагрузкойДоступ к админ панели Strapi: http://localhost:1337/admin
cd frontend
npm run dev # Сервер разработки
npm run build # Сборка для продакшена
npm run start # Продакшн серверДоступ к сайту: http://localhost:3000
npm run dev- Запуск сервера разработкиnpm run build- Сборка для продакшенаnpm run start- Запуск продакшн сервераnpm run lint- Запуск ESLint
npm run develop- Запуск сервера разработкиnpm run start- Запуск продакшн сервераnpm run build- Сборка админ панелиnpm run strapi- Запуск Strapi CLI команд
NEXT_PUBLIC_STRAPI_URL=http://localhost:1337
SITE_PASSWORD_HASH=your_hashed_password
HOST=0.0.0.0
PORT=1337
APP_KEYS=your_app_keys
API_TOKEN_SALT=your_api_token_salt
ADMIN_JWT_SECRET=your_admin_jwt_secret
TRANSFER_TOKEN_SALT=your_transfer_token_salt
JWT_SECRET=your_jwt_secret
- Управление книгами: Добавление, редактирование и просмотр коллекции книг
- Профили авторов: Ведение информации об авторах и их биографий
- Блог-посты: Обмен мыслями, отзывами и литературными дискуссиями
- Организация встреч: Планирование и управление встречами книжного клуба
- Аутентификация: Безопасный доступ к функциям клуба
- Адаптивный дизайн: Мобильно-дружественный интерфейс
- Форкните репозиторий
- Создайте ветку для функции (
git checkout -b feature/amazing-feature) - Закоммитьте изменения (
git commit -m 'Add some amazing feature') - Запушьте в ветку (
git push origin feature/amazing-feature) - Откройте Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you have any questions or need help, please open an issue or contact the maintainers.
Happy Reading! 📖✨