Skip to content

Latest commit

 

History

1,519 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scripture Habit

English | 日本語

Making daily scripture study more fun and meaningful.

An open-source community web application featuring AI real-time translation & group features to make daily scripture study a joyful habit together with friends.

Web Application: https://scripturehabit.app
Live Demo (No Signup Required): https://scripturehabit.app/en/demo

React 19 TypeScript 7.0 Node.js Express 5.0 Firebase


A Note from the Creator (Why I Built This)

"Can we make daily scripture study more fun, meaningful, and connected?"

To be completely honest, I was never great at reading scriptures consistently on my own. I kept dropping the habit after just a few days.

I realized I didn't need another strict checklist. What I really wanted was joy and connection, a simple place to share small daily thoughts with friends and family, even if we speak different languages. On a bit of a whim and pure excitement, I started writing code, and Scripture Habit was born.

There is no single "right answer" when it comes to software for building a scripture habit. That’s why I made this project open-source: so we can experiment, build, and shape the best experience together as a community.

Daijiro Sagane


Operational Data

The application is actively deployed and in operation, tracking daily active users studying scriptures. Currently, an average of 10+ users post study notes daily on a continuous basis.


Key Features

1. Dashboard

Dashboard

  • Level & Streak Display: Experience visible growth as continuous study days (streaks) and levels increase with daily note creation.
  • Today's Reading Guide: Automatically displays the recommended reading passage for the day, allowing users to open the target page with a single tap.

2. Note Creation

Note Creation

  • Note Editor: Record and save daily insights and reflection notes.
  • Atomic Update Processing: Executes a Firestore transaction upon saving a note to atomically handle streak calculation, chat synchronization, and user data updates.

3. My Notes & Reflection

My Notes Weekly Letter

  • Search & Filtering: Instantly search past study notes by tags or keywords.
  • AI Weekly Letter: Gemini AI analyzes a week's worth of note entries to deliver personalized reflection feedback.

4. Group Chat & Multi-language Support

Group Chat Language Settings

  • Automatic Scripture Link Conversion: Automatically converts scripture references in chat messages into easy-to-read interactive links.
  • AI Real-Time Translation: Instantly and automatically translates messages and user names from international group members.

5. Habit Rules & Settings

Habit Rules Profile Settings

  • Personal Habit Rules: Set custom study rules to maintain motivation and prevent routines from becoming monotonous.
  • Profile Settings: Flexibly customize avatar, language, notification preferences, and more.

Security & Testing

  • Security: Firebase AppCheck and Zod input validation (see Security Policy)
  • Error Monitoring: Sentry integration for real-time production error logging
  • Testing: Vitest (Unit testing) and Playwright (E2E testing) to prevent regressions

Tech Stack

Category Technologies
Frontend React 19, TypeScript 7.0 (Native), Vite 8.1, Vanilla CSS
State Management React Context (Split Context), useReducer, Zustand
Backend API Node.js 26.0, Express 5.0, Vercel Serverless Functions
Database / Auth Google Cloud Firestore, Firebase Authentication, Firebase AppCheck
AI Google Gemini API (Automatic Translation & Weekly Letter Generation)
API Documentation OpenAPI 3.0, Swagger UI (/api/docs)
Testing Vitest (Unit), Playwright (E2E)

Database Schema (ER Diagram)

ER Diagram

Directory Architecture

Directory Architecture


API Documentation (Swagger UI)

Public Swagger UI conforming to OpenAPI 3.0 specification is available:


Documentation

English Version

日本語版 (Japanese Version)


Contributing

Scripture Habit is an open-source project, and contributions are welcome. Whether you write code, design, translate, or just use the app, any help is appreciated.

Please see our Contributing Guide and Code of Conduct for details on development setup, guidelines, and community standards.

Areas where we could use help:

  • Translations: Reviewing existing translations for natural phrasing, or adding support for new languages.
  • Dashboard & UI: Improving dashboard usability, layouts, and mobile interface design.
  • User Experience & Testing: Reporting bugs, testing features, and suggesting workflow improvements.
  • Feature Ideas: Suggesting ideas that could make daily study habits more effective.

Feel free to open an issue or submit a pull request on GitHub.


Contributors

Thanks goes to these wonderful people:

daijir
daijir
Sembatya2020
Sembatya2020
GreiceMoreira
GreiceMoreira
Bimbolin
Bimbolin

This project follows the all-contributors specification. Contributions of any kind welcome!


License

This project is licensed under the MIT License - see the LICENSE file for details.

Releases

Sponsor this project

Used by

Contributors

Languages