A modern, community-driven events and announcements site for small towns.
- Built with: Astro, TypeScript, Supabase, Tailwind CSS, Embla Carousel
- Maintained by: Single contributor with AI agent assistance
-
Install dependencies:
npm install
-
Start local dev server:
npm run dev
-
Lint & format code:
npm run lint npm run format
-
Reset & seed database:
make db-reset make db-seed
See DEVELOPING.md for full setup, admin, and troubleshooting details.
- Frontend: Astro, Tailwind CSS, custom UI components, Embla Carousel (event carousel)
- Backend: Supabase (PostgreSQL, Auth, Storage, RLS)
- Calendar UI: FullCalendar.js
- Python Utilities: For data import, validation, and admin tasks
- Hosting: Netlify or Vercel
- Automation: GitHub Actions for scheduled jobs
- DEVELOPING.md: Developer/admin workflow, Makefile/Python usage, troubleshooting
- PROJECT_REQUIREMENTS.md: Canonical requirements, system design, schema, and implementation record
- Private fields (emails, comments) are only visible to authenticated admins
- Public APIs use field-level security via database views
- Spam protection: honeypot fields and rate limiting on forms
- AI agents (like GPT-4) are used for code review, refactoring, and feature work
- All major changes are documented in commit messages and TODO.md
- Start the dev server, seed the DB, and you’re ready to build or deploy
- For any questions, see DEVELOPING.md or describe your goal and let the AI agent help!