# Ghid Biblic - Biblical Guide Web App O aplicație web completă pentru studiul Bibliei cu capabilități de chat AI și funcții în timp real, implementată conform planului de implementare complet. ## 🚀 Caracteristici Complete ### 📖 **Cititor Biblic Avansat** - Navigare prin Scripturile Sfinte cu interfață responsive - Sistem de marcare a versetelor cu culori personalizabile - Istoric de lectură cu sincronizare automată - Cache inteligent pentru performanță optimă ### 🤖 **Chat AI Specializat** - Asistent AI antrenat pentru întrebări biblice și teologice - Integrare cu Azure OpenAI și suport pentru Ollama - Răspunsuri în română cu referințe scripturale - Salvarea automată a conversațiilor pentru utilizatorii autentificați ### 🙏 **Perete de Rugăciuni în Timp Real** - Împărtășirea cerilor de rugăciune cu comunitatea - Sistem de rugăciune cu counter în timp real - Opțiuni pentru postări anonime sau cu nume - Interfață optimistă cu actualizări automate ### 🔍 **Căutare Avansată cu Full-Text Search** - Motor de căutare cu indexare GIN PostgreSQL - Căutare prin similitudine și ranking inteligent - Rezultate optimizate cu cache și performanță ridicată - Suport pentru căutări complexe și expresii regulate ### 🔐 **Sistem de Securitate Robust** - Autentificare JWT cu validare avansată - Rate limiting per endpoint și utilizator - Middleware de securitate cu protecție CSRF/XSS - Validare de intrare cu scheme Zod ### 📊 **Performance și Monitoring** - Cache layer cu tabele PostgreSQL UNLOGGED - Scripturi de optimizare și mentenanță automată - Monitoring performanță cu rapoarte detaliate - Indexuri optimizate pentru căutări rapide ### 🧪 **Testing Framework** - Suite de teste cu Jest și React Testing Library - Teste unitare pentru API și componente - Coverage reports și CI/CD ready - Mock-uri pentru toate serviciile externe ## Tehnologii Utilizate - **Frontend**: Next.js 14 (App Router), TypeScript, Tailwind CSS, Zustand - **Backend**: Next.js API Routes, PostgreSQL cu extensii - **Database**: PostgreSQL 16 cu pgvector, pg_trgm, full-text search - **AI**: Azure OpenAI API cu fallback la Ollama - **Security**: JWT, bcrypt, rate limiting, input validation - **Testing**: Jest, React Testing Library, TypeScript - **DevOps**: PM2, Nginx, SSL support - **Performance**: Caching, indexing, optimization scripts ## Instalare Rapidă ### Folosind PM2 (Recomandat) 1. Clonează repository-ul: ```bash git clone cd ghid-biblic ``` 2. Copiază fișierul de configurație: ```bash cp .env.example .env.local ``` 3. Editează `.env.local` cu valorile tale: ```env DATABASE_URL=postgresql://bible_admin:password@localhost:5432/bible_chat DB_PASSWORD=password 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 ``` 4. Instalează dependențele și construiește aplicația: ```bash npm ci npm run build ``` 5. Rulează migrațiile și importă datele biblice: ```bash npx prisma migrate deploy npx prisma generate npm run import-bible ``` 6. Pornește aplicația cu PM2: ```bash pm2 start ecosystem.config.js --env production ``` 7. Accesează aplicația la: http://localhost:3000 ### Instalare Manuală 1. Instalează dependențele: ```bash npm install ``` 2. Configurează baza de date PostgreSQL și actualizează `.env.local` 3. Rulează migrațiile: ```bash npx prisma migrate deploy npx prisma generate ``` 4. Importă datele biblice: ```bash npm run import-bible ``` 5. Pornește serverul de dezvoltare: ```bash npm run dev ``` ## Scripturi Disponibile - `npm run dev` - Pornește serverul de dezvoltare - `npm run build` - Construiește aplicația pentru producție - `npm run start` - Pornește aplicația în modul producție - `npm run lint` - Verifică codul cu ESLint - `npm run import-bible` - Importă datele biblice în baza de date ## Structura Proiectului ``` ├── app/ # Next.js App Router │ ├── api/ # API Routes │ ├── dashboard/ # Dashboard principal │ └── globals.css # Stiluri globale ├── components/ # Componente React │ ├── auth/ # Componente de autentificare │ ├── bible/ # Componente pentru citirea Bibliei │ ├── chat/ # Interfața de chat AI │ ├── prayer/ # Componente pentru rugăciuni │ └── ui/ # Componente UI generale ├── lib/ # Utilitare și configurații │ ├── auth/ # Sistem de autentificare │ ├── ai/ # Integrare AI │ ├── store/ # State management │ └── db.ts # Conexiunea la baza de date ├── prisma/ # Schema și migrații Prisma ├── scripts/ # Scripturi de utilitate └── ecosystem.config.js # Configurație PM2 ``` ## Configurare AI ### Azure OpenAI 1. Creează o resursă Azure OpenAI 2. Obține cheia API și endpoint-ul 3. Implementează un model GPT-4 4. Actualizează variabilele de mediu ### Ollama (Opțional) Pentru rularea locală de modele AI: 1. Instalează Ollama 2. Descarcă un model pentru embeddings: `ollama pull nomic-embed-text` 3. Actualizează `OLLAMA_API_URL` în `.env.local` ## Deployment în Producție ### Folosind PM2 1. Copiază `.env.example` la `.env` și configurează-l pentru producție 2. Rulează scriptul de deployment: ```bash ./deploy.sh ``` Sau manual: ```bash npm ci npm run build pm2 restart ghidul-biblic || pm2 start ecosystem.config.js --env production pm2 save ``` ### Configurare SSL Pentru HTTPS folosind Let's Encrypt: ```bash # Instalează Certbot sudo apt install certbot python3-certbot-nginx # Obține certificatul SSL sudo certbot --nginx -d yourdomain.com ``` ## Monitorizare - **Health Check**: `/api/health` - **Logs**: `pm2 logs ghidul-biblic` - **Metrici**: Implementate prin endpoint-uri dedicate ## Contribuții 1. Fork repository-ul 2. Creează o ramură pentru feature: `git checkout -b feature-nou` 3. Commit schimbările: `git commit -m 'Adaugă feature nou'` 4. Push pe ramură: `git push origin feature-nou` 5. Deschide un Pull Request ## Licență Acest proiect este licențiat sub MIT License. ## Suport Pentru întrebări sau probleme, deschide un issue pe GitHub. --- *Construit cu ❤️ pentru comunitatea creștină*