A modern Bible reading application built with Next.js, featuring the King James Version (KJV) with powerful search capabilities, personal favorites, topic organization, and book exploration features.
🌐 https://kjv-bible-app.vercel.app/
- Complete KJV Bible: Access to all 66 books of the Bible
- Chapter Navigation: Easy navigation through books and chapters
- Verse Display: Clean, readable verse presentation
- Book Explorer: Browse all books organized by testament
- Verse Search: Search across the entire Bible text
- Real-time Results: Instant search results as you type
- Context Navigation: Jump from search results to full chapters
- Favorites: Save your favorite verses for quick access
- Topics: Create custom topic collections with related verses
- Organized Storage: Keep your spiritual insights organized
- Responsive Design: Works seamlessly on desktop and mobile
- Dark/Light Theme: Built with theme support
- Clean Interface: Distraction-free reading experience
- Intuitive Navigation: Tab-based interface for easy access
- Framework: Next.js 15.1.5 with App Router
- Language: TypeScript
- Styling: Tailwind CSS 4.1.3
- UI Components: Radix UI primitives
- Database: Supabase
- Icons: Lucide React
- State Management: React hooks
- Node.js 18.0 or later
- npm or yarn package manager
- Supabase account and project
-
Clone the repository
git clone <repository-url> cd kjv-bible-app
-
Install dependencies
npm install
-
Set up environment variables
Create a
.env.localfile in the root directory:NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
-
Set up Supabase Database
Your Supabase database should have the following tables:
bible_books: Contains book information with columns likebook_id,book_name,testament,seq_numberbible_books_and_verses: Contains verse data with columns likebook_name,book_chapter,verse_number,verse_text
Start the development server:
npm run devOpen http://localhost:3000 to view the application.
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run type-check- Run TypeScript type checking
src/
├── app/
│ ├── layout.tsx # Root layout
│ └── page.tsx # Main application page
├── components/
│ ├── BibleHeader.tsx # Navigation and search header
│ ├── VerseDisplay.tsx # Bible verse display component
│ ├── Favorites.tsx # Favorites management
│ ├── Topics.tsx # Topic creation and management
│ ├── BooksExplorer.tsx # Bible books browser
│ └── ui/ # Reusable UI components
├── hooks/
│ └── useBibleApi.ts # Custom hook for Bible data
└── lib/
└── supabase.ts # Supabase client configuration
Main navigation component with:
- Tab navigation (Read, Books, Favorites, Topics)
- Search functionality
- Book and chapter selection
Displays Bible verses with:
- Favorite toggle functionality
- Context expansion
- Clean verse formatting
Manages favorite verses:
- Add/remove favorites
- Quick access to saved verses
- Persistent storage
Topic organization system:
- Create custom topics
- Add verses to topics
- Organize spiritual insights
Bible book navigation:
- Testament organization
- Quick book access
- Chapter navigation
The application expects these Supabase tables:
- book_id (integer)
- book_name (text)
- testament (text)
- seq_number (integer)- book_name (text)
- book_chapter (integer)
- verse_number (integer)
- verse_text (text)- Fork the repository
- Create a feature branch:
git checkout -b feature/new-feature - Commit changes:
git commit -m 'Add new feature' - Push to branch:
git push origin feature/new-feature - Submit a pull request
Original Figma design: https://www.figma.com/design/0CREXjTZ97OM6BpT8VlzQQ/Bible-API-Frontend
© 2025 Premier Dev Solutions. All Rights Reserved.
This project is proprietary software. Viewing for educational purposes only. Commercial use, modification, or distribution requires written permission.
Contact: will@predevsol.com
- Bible text from the King James Version
- UI components powered by Radix UI
- Icons by Lucide React
- Database hosting by Supabase