4303e48fac7396237cef6da3ab456a6355bcf152
- Update API route handlers to use async params for Next.js 15 compatibility - Fix MUI DataGrid deprecated props (pageSize -> initialState.pagination) - Replace Material-UI Grid components with Box for better compatibility - Fix admin authentication system with proper request parameters - Update permission constants to match available AdminPermission enum values - Add missing properties to Page interface for type safety - Update .gitignore to exclude venv/, import logs, and large data directories - Optimize Next.js config to reduce memory usage during builds 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Biblical Guide - Complete Web Application
A comprehensive web application for Bible study with AI chat capabilities, real-time features, and a complete administrative dashboard.
🚀 Complete Features
📖 Advanced Bible Reader
- Responsive Scripture navigation with modern UI
- Verse bookmarking system with customizable colors
- Reading history with automatic synchronization
- Intelligent caching for optimal performance
- Full-text search with PostgreSQL GIN indexing
🤖 Specialized AI Chat Assistant
- AI assistant trained for biblical and theological questions
- Azure OpenAI integration with Ollama fallback support
- Responses in multiple languages with scriptural references
- Automatic conversation saving for authenticated users
- Context-aware biblical guidance
🙏 Real-time Prayer Wall
- Community prayer request sharing
- Real-time prayer counter system
- Anonymous and named posting options
- Optimistic UI with automatic updates
- Prayer request categorization and moderation
🔧 Comprehensive Admin Dashboard
Complete administrative control panel with four main sections:
📊 Dashboard Overview
- Real-time system metrics and key performance indicators
- User activity monitoring and engagement statistics
- Content creation and interaction analytics
- Quick access to critical administrative functions
👥 User Management
- Advanced user data grid with search and filtering
- User role management (admin, moderator, user, suspended)
- Detailed user profiles with activity summaries
- User actions: view, suspend, activate, promote, delete
- Bulk operations and user analytics
🛡️ Content Moderation
- Prayer request approval/rejection workflows
- Automated content filtering and flagging
- Conversation monitoring with content analysis
- Moderation queue management
- Community guideline enforcement
📈 Analytics & Insights
- Interactive charts and real-time statistics
- User behavior analysis and retention metrics
- Content engagement tracking and trends
- System performance monitoring
- Custom reporting and data visualization
⚙️ System Administration
- Real-time system health monitoring
- Database backup and restore functionality
- Security oversight and threat detection
- System configuration management
- Performance optimization tools
🔍 Advanced Search with Full-Text
- PostgreSQL GIN indexing for lightning-fast searches
- Similarity search with intelligent ranking
- Optimized results with caching and high performance
- Support for complex queries and regular expressions
🔐 Robust Security System
- JWT authentication with advanced validation
- Rate limiting per endpoint and user
- Security middleware with CSRF/XSS protection
- Input validation with Zod schemas
- Role-based access control for admin features
📊 Performance & Monitoring
- Cache layer with PostgreSQL UNLOGGED tables
- Optimization and automatic maintenance scripts
- Performance monitoring with detailed reports
- Optimized indexes for rapid searches
Technologies Used
- Frontend: Next.js 15.5.3 (App Router), TypeScript, Material-UI (MUI), Recharts
- Backend: Next.js API Routes, PostgreSQL with extensions
- Database: PostgreSQL 16 with pgvector, pg_trgm, full-text search
- AI: Azure OpenAI API with fallback to Ollama
- Security: JWT, bcrypt, rate limiting, input validation
- Admin Dashboard: Material-UI DataGrid, Charts, Real-time monitoring
- DevOps: PM2, SSL support, automated deployment
- Performance: Caching, indexing, optimization scripts
Quick Installation
Using PM2 (Recommended)
- Clone the repository:
git clone https://git.noru1.ro/andrei/biblical-guide.com.git
cd biblical-guide
- Copy configuration file:
cp .env.example .env.local
- Edit
.env.localwith your values:
DATABASE_URL=postgresql://postgres:password@localhost:5432/biblical-guide
AZURE_OPENAI_KEY=your-azure-key
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com
AZURE_OPENAI_DEPLOYMENT=gpt-4
JWT_SECRET=your-secure-jwt-secret
NEXTAUTH_SECRET=your-secure-nextauth-secret
NEXTAUTH_URL=https://biblical-guide.com
- Install dependencies and build:
npm ci
npm run build
- Run migrations and import biblical data:
npx prisma migrate deploy
npx prisma generate
npm run import-bible
- Start application with PM2:
pm2 start ecosystem.config.js --env production
- Access the application at: http://localhost:3010
Admin Dashboard Access
- Create an admin user in the database:
UPDATE users SET role = 'admin' WHERE email = 'your-email@domain.com';
-
Access admin dashboard at:
/admin -
Use your user credentials to log in to the admin panel
Admin Dashboard Features
🎯 Dashboard Overview (/admin)
- System health indicators and real-time metrics
- User activity statistics and growth tracking
- Content creation and engagement analytics
- Quick navigation to all administrative functions
👥 User Management (/admin/users)
- Complete user lifecycle management
- Advanced filtering and search capabilities
- User role assignment and permissions
- Activity monitoring and user analytics
- Bulk operations and data export
🛡️ Content Moderation (/admin/content)
- Prayer request moderation queue
- Automated content filtering
- Community guideline enforcement
- Approval/rejection workflows
- Content analytics and reporting
💬 Chat Monitoring (/admin/chat)
- Conversation oversight and analysis
- Message content filtering
- User interaction monitoring
- Automated moderation alerts
- Chat statistics and insights
📊 Analytics Dashboard (/admin/analytics)
- Comprehensive system analytics with interactive charts
- User behavior analysis and retention metrics
- Content performance tracking
- Real-time statistics and trends
- Custom reporting capabilities
⚙️ System Administration (/admin/settings)
- Real-time system health monitoring
- Database backup and restore
- Security status overview
- Performance metrics
- System configuration management
Available Scripts
npm run dev- Start development servernpm run build- Build application for productionnpm run start- Start production applicationnpm run lint- Check code with ESLintnpm run typecheck- Run TypeScript type checkingnpm run import-bible- Import biblical data to database
Project Structure
├── app/ # Next.js App Router
│ ├── admin/ # Admin dashboard pages
│ │ ├── analytics/ # Analytics and reporting
│ │ ├── chat/ # Chat monitoring
│ │ ├── content/ # Content moderation
│ │ ├── settings/ # System administration
│ │ └── users/ # User management
│ ├── api/ # API Routes
│ │ ├── admin/ # Admin API endpoints
│ │ ├── auth/ # Authentication
│ │ ├── bible/ # Bible data
│ │ ├── chat/ # Chat functionality
│ │ └── prayers/ # Prayer requests
│ └── [locale]/ # Internationalized pages
├── components/ # React Components
│ ├── admin/ # Admin dashboard components
│ │ ├── analytics/ # Analytics components
│ │ ├── chat/ # Chat monitoring
│ │ ├── content/ # Content moderation
│ │ ├── layout/ # Admin layout
│ │ ├── system/ # System administration
│ │ └── users/ # User management
│ ├── auth/ # Authentication components
│ ├── bible/ # Bible reading components
│ ├── chat/ # AI chat interface
│ ├── prayer/ # Prayer components
│ └── ui/ # General UI components
├── lib/ # Utilities and configurations
│ ├── admin-auth.ts # Admin authentication
│ ├── auth.ts # User authentication
│ ├── db.ts # Database connection
│ └── validation.ts # Input validation schemas
├── prisma/ # Prisma schema and migrations
└── ecosystem.config.js # PM2 configuration
Admin Authentication
The admin dashboard uses a separate authentication system from the main application:
- Admin Login:
/admin/login - Role-based Access: Admin and moderator roles supported
- Secure Sessions: JWT tokens with 8-hour expiration
- Permission System: Granular permissions for different admin functions
Production Deployment
Using PM2
- Configure environment variables for production
- Run deployment:
npm ci
npm run build
pm2 restart biblical-guide
pm2 save
SSL Configuration
For HTTPS using Let's Encrypt:
# Install Certbot
sudo apt install certbot python3-certbot-nginx
# Obtain SSL certificate
sudo certbot --nginx -d yourdomain.com
Monitoring & Health Checks
- Application Health:
/api/health - Admin System Health:
/api/admin/system/health(requires admin auth) - Logs:
pm2 logs biblical-guide - Real-time Monitoring: Available in admin dashboard
Security Features
- JWT Authentication with secure token management
- Role-based Access Control for admin features
- Rate Limiting on API endpoints
- Input Validation with Zod schemas
- CSRF Protection and XSS prevention
- Content Filtering and automated moderation
- Secure Admin Sessions with separate authentication
API Endpoints
Public APIs
/api/auth/*- User authentication/api/bible/*- Bible data and search/api/prayers/*- Prayer requests/api/chat/*- AI chat functionality
Admin APIs (Authentication Required)
/api/admin/auth/*- Admin authentication/api/admin/users/*- User management/api/admin/content/*- Content moderation/api/admin/chat/*- Chat monitoring/api/admin/analytics/*- System analytics/api/admin/system/*- System administration
Contributing
- Fork the repository
- Create a feature branch:
git checkout -b new-feature - Commit changes:
git commit -m 'Add new feature' - Push to branch:
git push origin new-feature - Open a Pull Request
License
This project is licensed under the MIT License.
Support
For questions or issues, please open an issue on the repository.
Built with ❤️ for the Christian community
Recent Updates
v2.0.0 - Complete Admin Dashboard
- Four-phase admin dashboard implementation
- User management system with advanced data grids
- Content moderation workflows for prayer requests
- Chat monitoring and analysis with automated filtering
- Comprehensive analytics with interactive charts
- System administration panel with health monitoring
- Real-time statistics and performance tracking
- Backup and restore functionality
- Security monitoring and alerts
- Professional Material-UI design throughout admin interface
v1.5.0 - Enhanced Features
- Internationalization support (English/Romanian)
- Advanced search capabilities with full-text indexing
- Real-time prayer wall with community features
- Optimized performance and caching
- Security enhancements and rate limiting
The Biblical Guide application now provides a complete platform for Bible study, community prayer, AI-assisted learning, and comprehensive administrative management.
Description
Languages
TypeScript
93.7%
Python
2.5%
JavaScript
2.2%
Shell
0.7%
PLpgSQL
0.5%
Other
0.3%