Add multi-version Bible support with ESV and NKJV translations
- Rename project from 'ESV Bible' to 'The Bible' - Implement version selection dropdown in homepage header - Add support for multiple Bible versions: * ESV (English Standard Version) - from mdbible * NKJV (New King James Version) - from local NKJV/ directory - Update all API endpoints to accept version parameter (?version=esv|?version=nkjv) - Add version-aware favorites system that stores and displays Bible version (e.g., 'Genesis 1:1 (ESV)') - Update database schema to include version column in favorites table - Maintain backward compatibility with existing data - Update Docker configuration and documentation
This commit is contained in:
22
README.md
22
README.md
@@ -1,13 +1,15 @@
|
||||
# ESV Bible in Markdown
|
||||
# The Bible in Markdown
|
||||
|
||||
A Docker-based ESV Bible application with markdown content, featuring a React frontend and Node.js backend.
|
||||
A Docker-based Bible application with multiple versions (ESV and NKJV) in markdown format, featuring a React frontend and Node.js backend.
|
||||
|
||||
> **Created with AI**: This entire application was built using Visual Studio Code with [Cline](https://github.com/cline/cline), an AI coding assistant that helped develop every aspect of the project from initial setup to final deployment.
|
||||
|
||||
## Features
|
||||
|
||||
### Core Bible Reading Experience
|
||||
- **Complete ESV Bible** in markdown format with all 66 books
|
||||
- **Multiple Bible versions** - ESV (English Standard Version) and NKJV (New King James Version)
|
||||
- **Version selection dropdown** on the homepage for easy switching between translations
|
||||
- **Complete Bible content** in markdown format with all 66 books
|
||||
- **Powerful search engine** - Find any verse, word, or phrase across the entire Bible
|
||||
- **Clean URLs** like `/book/Genesis/chapter/1` for easy sharing
|
||||
- **Mobile responsive** design with adaptive navigation and touch-friendly controls
|
||||
@@ -45,7 +47,7 @@ A Docker-based ESV Bible application with markdown content, featuring a React fr
|
||||
|
||||
1. **Run directly from Docker Hub**
|
||||
```bash
|
||||
docker run -d -p 3000:3000 -v esv-bible_data:/app/backend/data --name esv-bible ryderjj89/esv-bible:latest
|
||||
docker run -d -p 3000:3000 -v the-bible_data:/app/backend/data --name the-bible ryderjj89/the-bible:latest
|
||||
```
|
||||
|
||||
2. **Access the application**
|
||||
@@ -55,14 +57,14 @@ A Docker-based ESV Bible application with markdown content, featuring a React fr
|
||||
|
||||
1. **Clone the repository**
|
||||
```bash
|
||||
git clone https://github.com/Ryderjj89/esv-bible.git
|
||||
cd esv-bible
|
||||
git clone https://github.com/Ryderjj89/the-bible.git
|
||||
cd the-bible
|
||||
```
|
||||
|
||||
2. **Build and run with Docker (with persistent storage)**
|
||||
```bash
|
||||
docker build -t esv-bible .
|
||||
docker run -p 3000:3000 -v esv-bible_data:/app/backend/data esv-bible
|
||||
docker build -t the-bible .
|
||||
docker run -p 3000:3000 -v the-bible_data:/app/backend/data the-bible
|
||||
```
|
||||
|
||||
3. **Access the application**
|
||||
@@ -110,7 +112,7 @@ Create a `.env` file in the root directory with the following variables:
|
||||
```env
|
||||
# OpenID Connect Configuration (Required for authentication)
|
||||
# Example using Authentik - replace auth.example.com with your domain
|
||||
OIDC_ISSUER=https://auth.example.com/application/o/esv-bible/
|
||||
OIDC_ISSUER=https://auth.example.com/application/o/the-bible/
|
||||
OIDC_CLIENT_ID=your-client-id-from-authentik
|
||||
OIDC_CLIENT_SECRET=your-client-secret-from-authentik
|
||||
OIDC_AUTH_URL=https://auth.example.com/application/o/authorize/
|
||||
@@ -259,7 +261,7 @@ The application uses SQLite for user data when authentication is enabled:
|
||||
|
||||
### docker-compose.yml
|
||||
- **Single service** configuration for easy deployment
|
||||
- **Volume mounting** for database persistence (`esv-bible-data` volume)
|
||||
- **Volume mounting** for database persistence (`the-bible-data` volume)
|
||||
- **Automatic restart** policy for reliability
|
||||
- **Port mapping** (3000:3000) for web access
|
||||
|
||||
|
||||
Reference in New Issue
Block a user