RTSDA Website code with all Dependencies https://rockvilletollandsda.church
Go to file
Benjamin Slingo ccdddc76a9 Fix module import - use index.cjs for CommonJS compatibility
- Change back to index.cjs to avoid ES module require() error
- The .cjs extension ensures proper CommonJS module loading
2025-08-28 16:05:04 -04:00
astro-church-website Fix module import - use index.cjs for CommonJS compatibility 2025-08-28 16:05:04 -04:00
church-core Fix PO BOX display and security vulnerability 2025-08-26 17:22:25 -04:00
.gitignore Initial commit - source code only with SecondThirdSaturday recurring type fix 2025-08-16 18:28:35 -04:00
LICENSE Add README and LICENSE 2025-08-16 18:30:09 -04:00
README.md Add README and LICENSE 2025-08-16 18:30:09 -04:00

RTSDA Website

The official website for Rockville Tolland Seventh-day Adventist Church, built with Astro and powered by Rust bindings.

Features

  • Modern Astro Framework - Fast, component-based architecture
  • Event Management - Submit and manage church events with recurring types
  • Live Streaming - Watch services live with HLS.js support
  • Mobile App Integration - iOS and Android app download links
  • Admin Panel - Manage events, bulletins, and church content
  • Three Angels' Message - Dedicated sections for Adventist theology
  • Rust-Powered Backend - High-performance API bindings via church-core

Architecture

astro-church-website/     # Frontend Astro application
├── src/
│   ├── pages/           # Astro pages and API routes
│   ├── components/      # Reusable UI components
│   └── layouts/         # Page layouts
└── public/              # Static assets

church-core/             # Rust library for API bindings
├── src/
│   ├── client/         # API client implementations
│   ├── models/         # Data structures
│   └── uniffi_wrapper.rs  # FFI bindings
└── Cargo.toml

Development

Prerequisites

  • Node.js 18+ and npm
  • Rust 1.70+
  • Cargo

Setup

  1. Install dependencies:

    cd astro-church-website
    npm install
    
  2. Build Rust bindings:

    npm run build:native
    
  3. Start development server:

    npm run dev
    

Building for Production

  1. Build native bindings:

    npm run build:native
    
  2. Build Astro site:

    npm run build
    
  3. Deploy to web server:

    cp -r dist/* /var/www/rtsda-website/
    

Recent Fixes

  • SecondThirdSaturday Recurring Type - Added support for "2nd/3rd Saturday Monthly" events
  • Event Display Issues - Fixed events page showing "No Events Scheduled"
  • iOS App Compatibility - Resolved recurring type parsing errors
  • Mobile App Downloads - Added iOS App Store and Android APK download buttons
  • Session Management - Improved admin panel authentication handling

API Integration

The site integrates with the church API at https://api.rockvilletollandsda.church for:

  • Events and recurring schedules
  • Sermon archives and live streams
  • Church bulletins and announcements
  • Contact form submissions
  • Admin authentication

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

License

See LICENSE file for details.