This is the official website for Musha WeBetania Roman Catholic Parish.
This project is built with React, TypeScript, and Tailwind CSS. To edit it in VS Code:
- Clone the repository to your local machine
- Install the dependencies with
npm installoryarn install - Run the development server with
npm run devoryarn dev - Open the project in VS Code to edit the files
src/- Contains all the source codecomponents/- Reusable UI componentscommon/- General-purpose componentshome/- Components specific to the homepagelayout/- Layout components (Navbar, Footer)ui/- Basic UI components from shadcn/ui
contexts/- React contexts for state managementlib/- Utility functions and librariespages/- Page components for each routehooks/- Custom React hooks
This project is integrated with Sanity.io for content management. To set up the Sanity connection:
- Create a Sanity project at sanity.io
- Create a
.envfile in the root directory with the following variables:VITE_SANITY_PROJECT_ID=your_project_id VITE_SANITY_DATASET=production VITE_SANITY_TOKEN=your_token_if_needed_for_write_access - The Sanity schema should match the type definitions in
src/lib/sanity.ts
The website is set up to handle the following content types from Sanity:
- Hero Slides: Homepage carousel slides
- Events: Church events and gatherings
- Blog Posts: News and articles
- Church Documents: Downloadable PDFs and documents
- Go to your Sanity Studio (typically at
https://your-project-name.sanity.studio) - Create content using the defined schemas
- The website will automatically fetch and display the content
The website is fully responsive and optimized for all device sizes:
- Mobile-first approach with progressive enhancement
- Responsive utility classes in the CSS
- Adaptive components that adjust to screen size
- Media query breakpoints for different device sizes
To create a production build:
npm run build
# or
yarn buildThe build will be created in the dist/ directory, which can be deployed to any static hosting service.
The Google Maps component requires an API key. To set it up:
- Add your Google Maps API key to the
.envfile:GOOGLE_MAPS_API_KEY=your_api_key_here - Restart the development server