A Progressive Web App delivering daily Bible verses, motivational quotes, and affirmations as beautiful swipeable flashcards β with push notifications and full offline support.
Bible Verse Card |
Daily Quote Card |
Reflection Card |
- π Daily Bible Verses β Curated uplifting verses powered by API.Bible (KJV)
- π¬ Motivational Quotes β Hand-picked daily quotes from great thinkers
- β¨ Affirmations β Positive daily affirmations to start your day
- π Swipeable Flashcards β Swipe left/right or use buttons to navigate cards
- π Card Flip β Tap any card to flip and reveal the reflection side
- π Push Notifications β Daily verse delivered to your device even when the app is closed
- π± PWA Installable β Add to Home Screen on any device, works like a native app
- π Offline Support β Cached content loads without an internet connection
- π Animated UI β Midnight blue background with twinkling stars and glowing card borders
| Technology | Purpose |
|---|---|
| React 19 | UI framework |
| Vite 6 | Build tool & dev server |
| Framer Motion | Card animations |
| react-swipeable | Touch/swipe gestures |
| vite-plugin-pwa | PWA manifest & service worker |
| Playfair Display + DM Sans | Typography |
| Technology | Purpose |
|---|---|
| Node.js + Express | REST API server |
| node-cron | Daily push notification scheduler |
| web-push | Web Push API (VAPID) |
| API.Bible | Full Bible content (KJV) |
| dotenv | Environment variable management |
| Service | Purpose |
|---|---|
| GitHub Pages | Frontend hosting |
| Render | Backend hosting |
- Node.js v18+
- npm v9+
# Clone the repository
git clone https://github.com/Officialsammy2701/bibleflash.git
cd bibleflash
# Install root dependencies
npm install
# Install all dependencies
npm install --prefix client
npm install --prefix serverCreate server/.env:
PORT=5000
VAPID_PUBLIC_KEY=your_vapid_public_key
VAPID_PRIVATE_KEY=your_vapid_private_key
VAPID_EMAIL=mailto:you@example.com
BIBLE_API_KEY=your_api_bible_keyGenerate VAPID keys:
cd server
node -e "const wp = require('web-push'); const k = wp.generateVAPIDKeys(); console.log(k);"Get a free Bible API key at scripture.api.bible
# Run both frontend and backend simultaneously
npm run dev- Frontend:
http://localhost:5173/bibleflash/ - Backend:
http://localhost:5000
# Deploy frontend to GitHub Pages
npm run build --prefix client
cd client && npm run deploy
# Backend deploys automatically via Render on git push
git push origin mainbibleflash/
βββ client/ # React + Vite PWA frontend
β βββ public/
β β βββ icons/ # PWA icons
β βββ src/
β β βββ components/
β β β βββ FlashCard.jsx
β β β βββ Header.jsx
β β β βββ NotificationToggle.jsx
β β βββ App.jsx
β β βββ main.jsx
β βββ vite.config.js
βββ server/ # Node.js + Express backend
β βββ src/
β β βββ routes/
β β β βββ verse.js # API.Bible integration
β β β βββ quote.js
β β β βββ date.js
β β β βββ push.js # Push notification endpoints
β β βββ services/
β β β βββ cron.js # Daily notification scheduler
β β βββ index.js
β βββ db/
β βββ subscriptions.json
βββ data/
βββ bibleVerses.json # Fallback verse collection
βββ quotes.json # Motivational quotes
BibleFlash uses the Web Push API with VAPID keys to deliver daily notifications at 8:00 AM. Subscriptions are stored server-side and notifications are sent via node-cron.
To test notifications manually:
cd server
node -e "import('./src/services/cron.js').then(m => m.startCron())"Verses are fetched from API.Bible using the King James Version (KJV). The app uses a curated list of 50 uplifting verses from Psalms, Proverbs, John, Romans, Isaiah, and more.
Bible ID used: de4e12af7f28f599-01 (KJV)
Scan to install on mobile:
Visit the link on your phone and tap "Add to Home Screen" in your browser menu.
Ismail Adewale Akande
- GitHub: @Officialsammy2701
- Project: BibleFlash
This project is open source and available under the MIT License.
Bible content provided by API.Bible β King James Version (KJV), Public Domain.



