This project is the official website for El Jordan Seventh-day Adventist Church (Ibagué, Colombia). It allows members and visitors to:
- Learn about the church, its services, and activities
- Update member information through a secure form
- Request contact, prayer, or visit as a friend/visitor
- Check contact information, schedules, and location
- View the church's Instagram feed
The visual design and user experience follow the official Seventh-day Adventist Church global guidelines: adventist.design. We use their colors, typography (Advent Sans/Advent Pro), iconography, and accessibility principles to maintain global consistency and professionalism.
- Frontend: Next.js (React) with TailwindCSS for styles and components
- Backend/API: API endpoints in
/apito handle forms and data - Database: Cloudflare D1 (SQLite serverless) managed with Prisma ORM
- Deployment: Cloudflare Workers for high availability and scalability
- Componentization: All main site sections are reusable and decoupled components
cf-worker-church-platform/
├── src/
│ ├── app/ # Next.js app directory
│ ├── lib/ # Utility functions and shared logic
│ └── schema.prisma # Database schema definition
├── migrations/ # SQL migration files
├── public/ # Static assets
└── ...config files
src/app/— Next.js application routes and componentssrc/lib/— Shared utilities and helper functionssrc/prisma/— Database-related code and Prisma clientsrc/types/— TypeScript type definitionsmigrations/— SQL migration files for database schema changespublic/— Static assets (images, fonts, etc.)
nvm use
make env
yarn installyarn cf:typegenyarn db:generate-
Apply migrations locally:
yarn db:migrate
yarn devyarn buildyarn deploy-
Format code:
yarn format
-
Generate Cloudflare types:
yarn cf:typegen
For local development, you can copy .dev.vars.example to .dev.vars and update the values.
- Prisma is used in SQLite mode for D1 compatibility
- Migrations are stored in the
migrations/directory as SQL files - The database schema is defined in
src/schema.prisma - For production, configure your D1 database in Cloudflare and update the environment variable
wrangler.jsonc— Cloudflare Workers configurationnext.config.ts— Next.js configurationtailwind.config.ts— Tailwind CSS configurationtsconfig.json— TypeScript configuration.eslintrc.json— ESLint configuration.prettierrc— Prettier configuration
- Visual design based on adventist.design
- Advent Sans/Advent Pro typography under SIL Open Font License
- Code under MIT license
Questions or suggestions? Contact us or open an issue!