RTSDA-Website/.serena/memories/project_overview.md
Benjamin Slingo 91a1bb7a54 Restructure project and update gitignore
- 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
2025-08-30 08:59:27 -04:00

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.