Skip to content

Development

James G edited this page Jan 29, 2024 · 19 revisions

ChurchCRM Development QuickStart

IMAGE ALT TEXT HERE

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

Get Dev Tools Ready

  1. Install Homebrew https://brew.sh/
  2. Install Node/NPM: brew install node
  3. Install Composer: brew install composer

Build ChurchCRM from source; in the CRM source dir run.

  1. 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)

  2. npm run package

Start the application and test it locally

  1. npm run docker-test-start
  2. Open the browser and visit http://localhost/ and log in with admin/changeme

Make Code Change

Clone this wiki locally