Syed Islam wrote:That's true but I'm also trying to prove to prospective employers that I can code. Because I don't have any commercial programming experience.
Well, that quote was from me earlier, so you won't be surprised to hear that I think maybe
you should look at a different project to demonstrate your coding skills. Part of being a professional software developer is giving your customer what
they need, not what you want. If your local mosque wants a simple website to publish community information and collect donations, then their requirements are likely to include things like:
The site should be cheap to set up and run on a hosting service.The site should be easy to maintain e.g. they should be able to add content easily without having to ask you to code anything, and they should still be able to maintain the site even if you are not around.The site should be secure i.e. nobody should be able to hack into it and deface it or use the site resources to host illegal material, spambots etc.The donations component must be secure e.g. a clean and secure interface to an external payment system like PayPal.Any personal information collected by the site e.g. for donations must be managed securely (this is a legal requirement in many countries).
That's actually quite a challenge if you don't really have any commercial programming experience. But if you choose a mature and widely used open source content management system (CMS), such as WordPress, Drupal etc, then you should be able to create the site relatively easily and find suitable components (plugins) to meet these requirements, although you'll still need to do your research to make sure you know how to set them up correctly, keep them up to date, fix any problems etc. You can still explore PHP/CSS/HTML etc coding by building a cool template for the site initially.
The first time I built a website, I did everything by hand with PHP and MySQL etc, building my own very primitive content management system. I learned a lot about the tools, but the site was crap - clunky, poor UI for adding content, lousy design etc. So next time somebody asked me to build a site for them, I did my research and gave them a WordPress site, which gave them what they needed rather than what I wanted to learn. It's mostly configuration rather than coding, but even with a relatively simple CMS like WordPress, there's still plenty of work involved in bolting it together properly, tweaking/creating themes, and just keeping the components up to date and secure. Just setting up your own development machine will teach you plenty about Apache, PHP, MySQL etc. Another advantage of using a common CMS is that other people also use it: you can find help easily, and you can also acquire some skills to help other people with their websites.
So I'd suggest you take some time to explore a few CMS options for your mosque's website (WordPress is not the only option), then build them a site that will give them everything they need as quickly, securely and maintainably as possible. And because this should be relatively quick, you can take more time to think up a project of your own where you can use all the cool toys you really want to play with instead.
Finally, if you can give your mosque a smart, secure and maintainable website that they and their community are happy with, then you can ask them to recommend your work, and you can point people to the site as an example of how you've served your customers (just don't try to take credit for inventing Drupal or WordPress

).