104 lines
2.6 KiB
Markdown
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. |