Skip to content

Development

Robert Spencer edited this page Jun 13, 2024 · 21 revisions

ChurchCRM Development QuickStart

#2 - CRM Development QuickStart

Credits and Thanks

The ChurchCRM Team

Contributors

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.

Setup the Development Environment

  • Open the Mac App Store and download/install Xcode

    • This takes a long time to download; start it first
    • Open Xcode accept agreement
    • Click Install
    • Close Xcode
  • GitHub Desktop

    • Login with a GitHub account
    • Clone ChurhCRM/CRM to a local dir
  • Docker Desktop

    • No Need to create an account
  1. Install Homebrew
  2. Install Node/NPM: brew install node{.sh}
  3. Install Composer: brew install composer{.sh}

In the ChurchCRM source directory 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{.sh} (requires npm >6.9)

Start the application and test it locally:

  1. npm run deploy{.sh}
  2. npm run docker-test-start{.sh}
  3. Open your browser and visit http://localhost/ and log in with admin/changeme

Make Code Change

Download an IDE

Clone this wiki locally