CareTogether is an open-source case management system (CMS) for nonprofits connecting families to caring communities. The wiki provides much more detail about the design of CareTogether. If you prefer to jump straight into the code, keep reading!
Thank you for your interest in helping to build this vital tool! If you'd like to jump straight into development, please check out the issues labeled "Help Wanted", which are tasks that have been identified as a good fit for initial contributions. They are intentionally not critically time-sensitive, so you can work on them at your own pace. We are tracking the overall status of those issues in the CareTogether Contributions project.
If you have additional time to dedicate to contributing and feel you're ready to take on larger chunks of feature development work, please contact Lars Kemmann to set up an introductory call and request an invite to Teams where we are coordinating the design, development, and support efforts for CareTogether.
We ask that you practice effective communication, preferably through comments on the GitHub issues:
- Let others know that you are interested in working on an issue by leaving a comment.
- As soon as you start working on an issue, create a draft pull request for it so that others can see any progress you have made.
- Push changes to your PR frequently! We prefer small incremental commits over large changes that you keep locally for several days, so that others can see your progress.
- Once you've completed developing and testing your changes locally, publish your draft PR so that maintainers will know to begin a PR review.
- Stay responsive to comments on your PR.
You can build and run CareTogether on any operating system supported by Node.js and .NET Core, including Windows, MacOS, and supported Linux distros. CareTogether requires currently supported versions of Node.js and the .NET 6 SDK to be installed on your system.
You will also need to install the Azurite emulator for Azure Storage:
npm install -g azurite
- Clone the repository into any local directory on your device, e.g.
D:\Code\CareTogetherCMS
. - Start Azurite from the command line:
azurite
- Run the CareTogether.Api project:
- If using Visual Studio, you can open the CareTogetherCMS.sln solution and hit F5 to start debugging.
- If using Visual Studio Code, you may first need to perform a
dotnet build
before you can debug. - If you just want to run the API from the command line, run the following from the CareTogether.Api directory:
NOTE: The API project comes with a basic set of test data for local development. This test data is automatically regenerated each time you start the API project.dotnet run SolutionDir=..
- To run the caretogether-pwa web application, run the following from the caretogether-pwa directory:
npm install npm run start
- To sign into the application's local test environment, use the following credentials:
- Administrator
- Email Address:
[email protected]
- Password:
P@ssw0rd
- Email Address:
- Volunteer
- Email Address:
[email protected]
- Password:
P@ssw0rd
- Email Address:
- Administrator
CareTogether is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) which, crucially, only permits hosting this software (including derivatives) if you also make the source code of the software and any of your modifications available to your users under this same license. This effectively ensures that CareTogether CMS remains forever open-source and doesn't simply become the base code for a proprietary derivative at some point. We value collaboration and openness, and we believe that the best way to accomplish this is to ensure the software remains open to everyone.