
- Flatten directory structure by moving files from astro-church-website/ to root - Remove church-core subdirectory in favor of inline Rust library - Update .gitignore to properly exclude build artifacts, generated files, and dependencies - Add environment variables, IDE files, and coverage reports to gitignore - Include generated CSS files and native bindings in ignore patterns
2.4 KiB
2.4 KiB
RTSDA Web Project Overview
Project Purpose
This is a church website project for Rockville Tolland Seventh-day Adventist Church, featuring:
- Event management and submission system
- Sermon archive and streaming
- Bulletin management
- Contact forms
- Admin interface
Tech Stack
- Frontend: Astro 5.13.0 with TailwindCSS
- Backend: Rust-based church-core library with NAPI-RS bindings
- Architecture: Hybrid - Astro frontend with Rust backend via native bindings
- API: External API at
https://api.rockvilletollandsda.church/api/
Key Components
astro-church-website/
- Main Astro frontendchurch-core/
- Rust backend libraryaxum-church-website/
- Alternative backend (Axum-based)
Project Structure
/
├── astro-church-website/ # Main Astro frontend
│ ├── src/
│ │ ├── components/ # Reusable components
│ │ ├── layouts/ # Page layouts
│ │ ├── pages/ # Astro pages and API routes
│ │ │ ├── api/ # API endpoints
│ │ │ ├── events/ # Event-related pages
│ │ │ ├── admin/ # Admin interface
│ │ │ └── bulletin/ # Bulletin management
│ │ └── lib/ # Utilities and bindings
│ ├── package.json
│ ├── Cargo.toml # Rust dependencies for NAPI
│ └── build.rs # Build script
├── church-core/ # Rust backend library
└── axum-church-website/ # Alternative Axum backend
Development Commands
npm run dev
- Start development server (localhost:4321)npm run build
- Build production site (includes native build)npm run build:native
- Build native Rust bindings onlynpm run preview
- Preview built site
Key Features
- Event Submission Form (
/events/submit
) - Users can submit events for approval - Admin Interface (
/admin
) - Event management and approval - Bulletin Archive (
/bulletin
) - Historical bulletins - Live Streaming (
/live
) - Church service streaming - Sermon Archive (
/sermons
) - Past sermons and audio
Known Issue
There's a database error when users select "2nd 3rd Saturday" in the recurring field of the event submission form, causing a 500 error.