
- 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
56 lines
2.4 KiB
Markdown
56 lines
2.4 KiB
Markdown
# 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 frontend
|
|
- `church-core/` - Rust backend library
|
|
- `axum-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 only
|
|
- `npm run preview` - Preview built site
|
|
|
|
## Key Features
|
|
1. **Event Submission Form** (`/events/submit`) - Users can submit events for approval
|
|
2. **Admin Interface** (`/admin`) - Event management and approval
|
|
3. **Bulletin Archive** (`/bulletin`) - Historical bulletins
|
|
4. **Live Streaming** (`/live`) - Church service streaming
|
|
5. **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. |