This is just a modernized version of the current Masjid Suffah Website.
- See Tech Stack below for build information
- You should just have to run
bun run devand push to the Git repo - Set up Netlify to auto read from pushes to your Git repo on Github or something and auto build and auto publish for you
- Also, don't forget to set the
.env.local(copy from.env.example) with all required values
The goal is to make scale this to community needs with as few movings parts as possible.
Personally, that means that I'm going to attempt to simplify the feature requests as much as possible such that they:
- Satisfy the need of the original request
- As simple to implement as possible
- Use the simplest feasible (fits current needs + can scale to a reasonable max when needed) tech stack
If you find yourself to be the maintainer of this, may Allah help you. Feel free to tweak anything you'd like!
As I've been going through this project, I've reevaluated the Tech stack a lot, so here's how it is right now:
- SvelteKit instead of React or NextJS or Angular (HTML Framework) because:
- SvelteKit is simpler to use
- This isn't a super complex project, so we can't benefit from their increased scalability
- I have more experience with SvelteKit
- Typescript because:
- Type-Safety over JS
- I already know how to use it well
- Shadcn UI + TailwindCSS (Styling) because:
- Allows for extreme personalization / tailoring to our own needs
- Easy to style (I suck at UI design, or atleast, I think I suck at UI design)
- I have experience in Tailwind
- Supabase (Backend + DB) because:
- Backend as a Service, so we don't need our own VPS for our own full-fledged backend; we can rely on server-functions
- Simple enough to use
- Has OAuth
- Lots of Data Types
- Netlify (Hosting) because:
- Easy development experience
- Free!
- Integrates nicely with other major technologies that we're using
- I think it was some relative of Faizan (the first Imam of this Masjid), maybe his sister, who set up the Wordpress Site.
- I think then that my dad, Mazhar, contracted a friend of his, Hussain, who then contracted someone else to setup the Display Page.
- Then my dad took care of it for a long time, with occasional stability patches from either Hussain or his contractor; I don't know which.
- Finally, it's me, AbdulMuqeet. However, the code here was all made from scratch. I don't think any DNA of the original will survive in code, but it will surely survive in asthetics and functionality.