Skip to content

Latest commit

 

History

History
103 lines (71 loc) · 2.79 KB

README.en.md

File metadata and controls

103 lines (71 loc) · 2.79 KB

E-Masjid.My

E-Masjid.My

Sistem masjid untuk semua

E-Masjid.My is a free and open source (MIT License) mosque management system



Philosophy

The main goals for this system are listed below.

Easy of use

  • Not everyone is an IT expert. Designing a system for non-IT people needs careful consideration.

Time to use your IT skills for good deeds

  • Open source is a form of sadaqah which is a required practice in Islam.

Longer living

  • Hosting/Tech companies may die, but we hope that by open-sourcing this project, it will live longer for the sake of ummah.

We give, not take

  • We should be contributing to the Muslim community, rather than benefiting from them, especially the Masjid.

Prerequisites

  1. Docker
  2. Java 17 (Spring Boot 3.2.0)
  3. Maven
  4. Node 20 (ReactJS 18 + CoreUI + Tailwind CSS)
  5. VSCode (Recommended)

Quickstart guide ( Docker compose )

Clone this repo

git clone https://github.com/Dev4w4n/e-masjid.my.git;
cd e-masjid.my

run-dev.sh (for Linux)

sh run-dev.sh

run-dev.sh (for Windows) - Use Git Bash terminal in VSCode

sh run-dev.sh

This will automatically build all the APIs, and run the docker-compose file where it will spin up 6 containers for the developments environment.

Once the containers are up, you may stop any of the containers depending on what you will be working on to free up your local resources.

Gradle Build

You may utilise ./gradlew (or gradlew.bat on windows) provided to configure/execute your build. The commands below will show available tasks on gradle:

./gradlew task

./gradlew task --all

Gradle build for each backend modules

As seen in the output of the aforementioned ./gradlew task --all, you may execute builds separately for each of the backend modules. Each backend modules are written in Spring boot, so you may use org.springframework.boot plugin as below:

cd api

./gradlew api:tabung-api:bootRun --args='--spring.profiles.active=local'

You may also generate the Jar file separately for the use with docker-compose. Follow the step below to generate Jar:

cd api

./gradlew api:tabung-api:bootJar

Contributing guide

Please fork this repo and submit your Pull Request.

We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's:

  • Reporting a bug
  • Submitting a fix
  • Proposing new features
  • Enhancing features
  • Documentation
  • Unit testing

Or you would just like to chat with us, find us on Discord