Skip to content

mr-ministry/mr-verse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

36 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“–โœจ Mr Verse - Bible Verse Presentation Software

Mr Verse is a lightweight live Bible verse presentation software built in Go using Fyne for the UI and SQLite3 for data storage. It's designed to run on low-spec computers and be easily extensible for future features.

โš ๏ธ IMPORTANT

  • This project is currently under development and is not ready for production use.
  • This README is a work in progress and is initially generated by AI.
  • Please check back soon for updates.

Powerful Bible verse presentation software built with Go and Fyne ๐Ÿš€

Transform your ministry with this lightning-fast, cross-platform Bible verse display application designed for churches, study groups, and presentations. Display beautiful, large-format verses on secondary monitors or projectors with seamless control and navigation.

Go Version Fyne UI SQLite License

๐ŸŒŸ Features

๐ŸŽฏ Core Functionality

  • ๐Ÿ“บ Dual-Screen Presentation - Dedicated live presentation window optimized for projectors and secondary monitors
  • ๐ŸŽฎ Intuitive Controller - Clean, easy-to-use control interface for seamless verse management
  • โšก Lightning-Fast Navigation - Instant previous/next verse navigation with smart cross-chapter and cross-book transitions
  • ๐Ÿ” Smart Search - Quick Bible reference lookup using natural format (e.g., "John 3:16", "Romans 8:28")
  • ๐Ÿ“š Multi-Translation Support - Switch between multiple Bible translations on the fly
  • ๐Ÿ–ฅ๏ธ Multi-Monitor Configuration - Flexible secondary monitor positioning and sizing
  • ๐ŸŽจ Presentation-Optimized UI - Large, readable text with dark backgrounds for optimal visibility

๐Ÿ“– Bible Data Management

  • ๐Ÿ’พ SQLite Database - Efficient local storage with automatic JSON-to-database seeding
  • ๐Ÿ”„ Dynamic Translation Loading - Automatic detection and loading of Bible translation files
  • ๐Ÿ“Š Smart Caching - Optimized verse retrieval and navigation performance
  • ๐Ÿ”— Contextual Navigation - Intelligent verse sequencing across chapters and books

โš™๏ธ Technical Excellence

  • ๐ŸŽฏ Observer Pattern - Real-time verse updates across all windows
  • ๐Ÿงต Thread-Safe Operations - Concurrent-safe verse presentation management
  • ๐Ÿ“ Comprehensive Logging - Detailed application logs for troubleshooting
  • ๐Ÿ”ง Configuration Management - Persistent settings for monitor setup and preferences

๐Ÿš€ Quick Start

๐Ÿ“‹ Prerequisites

  • Go 1.24 or later (Download)
  • GCC or compatible C compiler (required for Fyne UI framework)
  • Operating System: Windows, macOS, or Linux

๐Ÿ› ๏ธ Installation

Option 1: Build from Source

# Clone the powerhouse
git clone https://github.com/mr-ministry/mr-verse.git
cd mr-verse

# Build the application
make build

# Launch and inspire! ๐ŸŽ‰
./mr-verse

Option 2: Cross-Platform Builds

# Build for all platforms
make build-all

# Or target specific platforms
make build-windows    # Windows executable
make build-macos      # macOS binary
make build-linux      # Linux binary

๐Ÿ“Š Adding Bible Translations

Place your Bible translation JSON files in the data/ directory. The application automatically detects and loads them on startup.

Supported format:

{
  "version": "NIV",
  "books": {
    "Genesis": {
      "1": {
        "header": "Genesis 1",
        "verses": {
          "1": "In the beginning God created the heavens and the earth.",
          "2": "Now the earth was formless and empty..."
        }
      }
    }
  }
}

๐ŸŽฎ Usage Guide

๐ŸŽ›๏ธ Controller Window

The command center for your presentation:

  • ๐Ÿ” Search Bar - Type any Bible reference (e.g., "Psalm 23:1", "1 Corinthians 13:4")
  • โฌ…๏ธโžก๏ธ Navigation - Previous/Next buttons for seamless verse flow
  • ๐Ÿ“– Translation Selector - Switch between available Bible versions instantly
  • ๐Ÿ”ด Go Live Button - Open/close the presentation window
  • ๐Ÿ“ก Update Live - Push current verse to the live display
  • โš™๏ธ Settings - Configure secondary monitor positioning

๐Ÿ“บ Live Presentation Window

Optimized for maximum visual impact:

  • ๐ŸŒš Dark Background - Reduces eye strain and enhances readability
  • ๐Ÿ“ Auto-Scaling Text - Dynamically adjusts to window size
  • ๐ŸŽฏ Centered Layout - Professional presentation formatting
  • โšก Real-Time Updates - Instant verse changes from controller

๐Ÿ–ฅ๏ธ Multi-Monitor Setup

  1. Click Settings in the controller window
  2. Enter your secondary monitor coordinates:
    • X, Y Position - Where the window should appear
    • Width, Height - Display dimensions
  3. Click Save - Settings persist automatically
  4. Next Go Live will position perfectly on your projector! ๐ŸŽฏ

๐Ÿ—๏ธ Architecture

๐Ÿ“ Project Structure
โ”œโ”€โ”€ ๐Ÿš€ cmd/                 # Application entry point
โ”‚   โ””โ”€โ”€ main.go            # Startup logic & initialization
โ”œโ”€โ”€ ๐Ÿง  internal/            # Core application logic
โ”‚   โ”œโ”€โ”€ ๐Ÿ“– bible/          # Bible data management
โ”‚   โ”‚   โ”œโ”€โ”€ db.go          # SQLite database operations
โ”‚   โ”‚   โ””โ”€โ”€ query.go       # Verse retrieval & navigation
โ”‚   โ”œโ”€โ”€ โš™๏ธ config/         # Settings & preferences
โ”‚   โ”œโ”€โ”€ ๐ŸŽญ presentation/   # Verse display logic
โ”‚   โ””โ”€โ”€ ๐ŸŽจ ui/             # User interface components
โ”‚       โ”œโ”€โ”€ controller_window.go  # Main control interface
โ”‚       โ”œโ”€โ”€ live_window.go        # Presentation display
โ”‚       โ””โ”€โ”€ custom_theme.go       # Visual styling
โ”œโ”€โ”€ ๐Ÿ’พ data/               # Bible translation files (JSON)
โ”œโ”€โ”€ ๐Ÿ“‹ assets/             # Application resources
โ””โ”€โ”€ ๐Ÿ“ logs/               # Application logs

๐Ÿ› ๏ธ Development

๐Ÿ”ง Available Commands

make build          # Build for current platform
make run            # Run in development mode
make test           # Execute test suite
make clean          # Clean build artifacts
make deps           # Update dependencies
make build-all      # Cross-platform build

๐Ÿงช Testing & Quality

  • Unit Tests - Comprehensive test coverage for core functionality
  • Thread Safety - Concurrent operations tested and verified
  • Memory Management - Optimized resource usage patterns
  • Error Handling - Graceful degradation and user feedback

๐Ÿ“š Bible Translations

Pre-configured support for popular translations:

  • NIV - New International Version
  • NKJV - New King James Version
  • NLT - New Living Translation
  • RCPV - Revised Common Prayer Version

๐Ÿ”ง Add More Translations: Simply place JSON files in the data/ directory!

๐Ÿค Contributing

We welcome contributions that help spread the Word!

  1. ๐Ÿด Fork the repository
  2. ๐ŸŒฟ Create your feature branch (git checkout -b feat/amazing-feature)
  3. ๐Ÿ’ป Make your changes
  4. โœ… Test thoroughly
  5. ๐Ÿš€ Submit a pull request

๐Ÿ“ Commit Guidelines

  • feat: - New features
  • fix: - Bug fixes
  • refactor: - Code improvements
  • docs: - Documentation updates

๐Ÿ™ Ministry Impact

Built with love for the global church community. Whether you're:

  • ๐Ÿ›๏ธ Churches - Enhance your worship services
  • ๐Ÿ“– Bible Study Groups - Engage your participants
  • ๐ŸŽ“ Teachers - Create impactful presentations
  • ๐Ÿ  Home Use - Personal scripture meditation

Mr Verse empowers you to share God's Word with clarity and beauty.

๐Ÿ›ฃ๏ธ ROADMAP

  • Bible reference in the same language as the selected version
  • Searching with a translation suffix automatically selects that translation
  • Verse preview before showing in live view
  • Showing multiple verses at a time
  • Clickable exit button

๐Ÿ“„ License

Open source with โค๏ธ - check LICENSE for details.


๐ŸŒŸ Built with Go โ€ข Powered by Fyne โ€ข Designed for Ministry ๐ŸŒŸ

"Faith comes by hearing, and hearing by the word of God." - Romans 10:17

About

Mr Verse is a lightweight live Bible verse presentation software built in Go using Fyne for the UI and SQLite3 for data storage. It's designed to run on low-spec computers and be easily extensible for future features.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Contributors

Languages