RTSDA-Website/README.md
2025-08-16 18:30:09 -04:00

104 lines
2.6 KiB
Markdown

# 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:**
```bash
cd astro-church-website
npm install
```
2. **Build Rust bindings:**
```bash
npm run build:native
```
3. **Start development server:**
```bash
npm run dev
```
### Building for Production
1. **Build native bindings:**
```bash
npm run build:native
```
2. **Build Astro site:**
```bash
npm run build
```
3. **Deploy to web server:**
```bash
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.