2.6 KiB
2.6 KiB
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
-
Install dependencies:
cd astro-church-website npm install
-
Build Rust bindings:
npm run build:native
-
Start development server:
npm run dev
Building for Production
-
Build native bindings:
npm run build:native
-
Build Astro site:
npm run build
-
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
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
License
See LICENSE file for details.