https://github.com/engineervix/ten-lists
A web application that facilitates listening ๐๐ง๐ to the Holy Bible based on Professor Grant Horner's Bible-Reading System.
https://github.com/engineervix/ten-lists
alpinejs bible-chapters bible-playlist-generator bible-reading plyr vite
Last synced: 8 months ago
JSON representation
A web application that facilitates listening ๐๐ง๐ to the Holy Bible based on Professor Grant Horner's Bible-Reading System.
- Host: GitHub
- URL: https://github.com/engineervix/ten-lists
- Owner: engineervix
- License: gpl-3.0
- Created: 2014-05-27T13:34:36.000Z (almost 12 years ago)
- Default Branch: main
- Last Pushed: 2025-06-18T00:26:26.000Z (9 months ago)
- Last Synced: 2025-06-18T01:30:32.267Z (9 months ago)
- Topics: alpinejs, bible-chapters, bible-playlist-generator, bible-reading, plyr, vite
- Language: JavaScript
- Homepage: https://ten-lists.pages.dev
- Size: 2.41 MB
- Stars: 4
- Watchers: 2
- Forks: 2
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# ten-lists
A web application that facilitates listening ๐๐ง๐ to the Holy Bible based on [Professor Grant Horner's Bible-Reading System](https://sohmer.net/media/professor_grant_horners_bible_reading_system.pdf).
๐ฑ Screenshot - Mobile
๐ฅ๏ธ Screenshot - Desktop

[](https://github.com/engineervix/ten-lists/actions/workflows/main.yml)
[](https://github.com/engineervix/ten-lists/actions)
[](https://nodejs.org/en/blog/release/v22.0.0)
[](https://prettier.io/)
[](http://commitizen.github.io/cz-cli/)
[](https://github.com/conventional-changelog)
[](https://conventionalcommits.org)
- [Features](#features)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Deployment](#deployment)
- [Setting Up Your Cloud Storage](#setting-up-your-cloud-storage)
- [Common Cloud Storage Options](#common-cloud-storage-options)
- [Cloudflare R2](#cloudflare-r2)
- [Backblaze B2](#backblaze-b2)
- [AWS S3](#aws-s3)
- [Cloudflare Pages](#cloudflare-pages)
- [Other Platforms](#other-platforms)
## Features
- Generate a playlist of 10 Bible chapters for any day in the bible reading plan.
- Audio playback of Bible chapters using [Plyr.io](https://plyr.io/)
- Responsive design with [tailwindcss](https://tailwindcss.com/)
- Interactive UI with [Alpine.js](https://alpinejs.dev/)
- Bible reference tooltips via [Blue Letter Bible ScriptTagger](https://www.blueletterbible.org/webtools/BLB_ScriptTagger.cfm)
- [`localStorage`](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage) to remember your current reading day
## Getting Started
### Prerequisites
- Node.js (v22 or higher)
- npm
### Installation
1. Clone the repository:
```sh
git clone https://github.com/engineervix/ten-lists.git
cd ten-lists
```
2. Install dependencies:
```
npm install
```
3. Set up audio files:
- During development, audio files should be placed in a `/public/audio` directory
- The audio files should follow this naming convention:
- Old Testament: `A[book-code]___[chapter]_[formatted-name]ENGESVC2DA.mp3`
- New Testament: `B[book-code]___[chapter]_[formatted-name]ENGESVC2DA.mp3`
For example:
- Job 1: `A18___01_Job_________ENGESVC2DA.mp3`
- Song of Solomon 8: `A22___08_SongofSongs_ENGESVC2DA.mp3`
- Acts 1: `B05___01_Acts________ENGESVC2DA.mp3`
That's the convention used for the ESV dramatized audio Bible downloaded from the [_Faith Comes by Hearingยฎ_ website](http://www.bible.is/audiodownloader).
4. Start the development server:
```
npm run dev
```
5. Build for production:
```
npm run build
```
## Deployment
You'll need the audio files to be hosted on cloud storage, e.g.
- Cloudflare R2
- Backblaze B2
- AWS S3
### Setting Up Your Cloud Storage
1. Create a bucket/container in your preferred cloud storage service.
2. Configure public access for the bucket (if you want files to be directly accessible).
3. Upload all audio files to the bucket.
4. Note your bucket URL.
5. Set up appropriate CORS settings.
#### Common Cloud Storage Options
##### Cloudflare R2
Your URL will typically be: `https://{account-id}.r2.cloudflarestorage.com/{bucket-name}`
##### Backblaze B2
Your URL will typically be: `https://{bucket-name}.s3.{region}.backblazeb2.com`
##### AWS S3
Your URL will typically be: `https://{bucket-name}.s3.amazonaws.com`
### Cloudflare Pages
This application can be deployed to Cloudflare Pages:
1. Connect your GitHub repository to Cloudflare Pages.
2. Configure the `VITE_MP3_BASE_URL` environment variable in the Cloudflare Pages dashboard.
3. Set the build command to `npm run build` and the build directory to `dist`.
### Other Platforms
You should be able to deploy to Github Pages, Gitlab Pages, Vercel, Netlify, and many other platforms. Check the respective platform docs.