Development - respencer/ChurchCRM GitHub Wiki
ChurchCRM Development QuickStart
Credits and Thanks
The ChurchCRM team:
Other Open Source code used in this project:
This application uses Open Source components. You can find the source code of their open source projects along with license information below. We acknowledge and are grateful to these developers for their contributions to open source.
Must-Read Developer Pages"
ChurchCRM is a fork of ChurchInfo, which is a fork from InfoCentral. Refer to the ChurchInfo and InfoCentral project sites for additional credits and history.
Development Methods
macOS
Mac Fresh Install - This was completed/tested on macOS Ventura.
Do the following in any order, as this will setup the development env
-
Open the Mac App Store and download/install Xcode: https://apps.apple.com/us/app/xcode/id497799835?mt=12
- This takes a long time to download; start it first
- Open Xcode accept agreement
- Click Install
- Close Xcode
-
GitHub Desktop: https://desktop.github.com/
- Login with a GitHub account
- Clone ChurhCRM/CRM to a local dir
-
Docker Desktop: https://www.docker.com/products/docker-desktop/
- No Need to create an account
Get Dev Tools Ready
- Install Homebrew https://brew.sh/
- Install Node/NPM:
brew install node
- Install Composer:
brew install composer
Build ChurchCRM from source; in the CRM source dir run.
-
npm install
Note: if you are running Apple Silicon (M1/M2 processor) you will get errors with
node-sass
. For example:npm ERR! Binary has a problem: Error: dlopen(/path/to/ChurchCRM/node_modules/node-sass/vendor/darwin-arm64-120/binding.node, 0x0001): tried: '/path/to/ChurchCRM/node_modules/node-sass/vendor/darwin-arm64-120/binding.node' (not a mach-o file), '/System/Volumes/Preboot/Cryptexes/OS/path/to/ChurchCRM/node_modules/node-sass/vendor/darwin-arm64-120/binding.node' (no such file), '/path/to/ChurchCRM/node_modules/node-sass/vendor/darwin-arm64-120/binding.node' (not a mach-o file)'
If this happens, simply execute the following (fix courtesy of "m_kos" at Stack Overflow):
npm install node-sass@npm:sass
(requires npm >6.9) -
npm run package
Start the application and test it locally
npm run docker-test-start
- Open the browser and visit
http://localhost/
and log in with admin/changeme
Make Code Change
- Download an IDE
- PHP Storm is a great but paid - https://www.jetbrains.com/phpstorm/
- VS Code is a free IDE: https://code.visualstudio.com/