Scripture Assistant is a modern, full-stack web application designed to revolutionize Bible study through the power of Artificial Intelligence. It provides users with semantic search capabilities, deep theological insights, and tailored commentaries, all wrapped in a premium, responsive user interface.
- 🧠 Semantic Search: Go beyond keyword matching. Ask natural language questions like "What does the Bible say about anxiety?" and get relevant scriptures and interpretations.
- ✨ AI Insights: Leveraging LLMs to generate context-aware explanations and summaries for complex theological concepts.
- 📚 Old & New Testament: Seamlessly access both Old and New Testament scriptures.
- 📝 Commentary & Analysis: Integrated commentaries to provide historical and cultural context.
- 🔐 Secure Authentication: Robust user management via AWS Cognito.
- 💳 Credit System: Stripe integration for managing study credits and premium features.
- 🎨 Modern UI/UX: Built with TailwindCSS for a sleek, responsive, and accessible design.
- Framework: Next.js 16 (App Router, Server Components)
- Language: TypeScript / React 19
- Styling: TailwindCSS, Lucide Icons, Radix UI
- State Management: React Hooks & Context API
- Search Engine: Python (Flask) with Vector Search (FAISS/ChromaDB)
- AI/LLM: Integration with Large Language Models for generative insights
- Database: PostgreSQL (User data, Credits)
- Authentication: AWS Cognito
- Payments: Stripe API
Follow these instructions to set up the project locally.
- Node.js (v20+)
- PostgreSQL
- AWS Account (Cognito)
- Stripe Account
-
Clone the repository
git clone https://github.com/eymanM/bible-assistant-ui.git cd bible-assistant-ui -
Install Frontend Dependencies
npm install
-
Set up Environment Variables Create a
.env.localfile in the root directory:NEXT_PUBLIC_AWS_REGION=us-east-1 NEXT_PUBLIC_BASE_URL=http://localhost:3000 NEXT_PUBLIC_API_DOMAIN=http://localhost:5000 NEXT_PUBLIC_AWS_USER_POOLS_ID=us-east-1_lB.. NEXT_PUBLIC_AWS_USER_POOLS_WEB_CLIENT_ID=157nas... STRIPE_WEBHOOK_SECRET=whsec_ac.. STRIPE_SECRET_KEY=sk_test_51S.. DATABASE_URL=postgres://postgres:password@localhost:5432/postgres NODE_ENV=development BACKEND_API_KEY=your-api-key-here SERPER_API_KEY=your-serper-api-key MEDIA_CACHE_EXPIRATION_DAYS=30 USER_MEDIA_SEARCH_LIMIT=100 USER_GENERAL_REQUEST_LIMIT=1000
-
Run the Development Server
npm run dev
-
Start the Backend API This frontend requires the Scripture Assistant API to be running.
Clone the backend repository and start the server:
git clone https://github.com/eymanM/bible-assistant.git cd bible-assistant pip install -r requirements.txt python app.pyEnsure the API is properly configured and running.
src/
├── app/ # Next.js App Router pages
├── components/ # Reusable React components (Sidebar, SearchBar, Results)
├── hooks/ # Custom React hooks (useBibleSearch)
├── lib/ # Utilities (Auth, API clients)
└── styles/ # Global styles and Tailwind config
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License
Made with ❤️ by Mateusz