- Requirements
- Recommended Tools
- Installing Environment
- Installation Troubleshooting
- Architecture
- Front End Development
- Learning Material
Please install the following to work on church management:
- VirtualBox. https://www.virtualbox.org/
- Vagrant. https://www.vagrantup.com/
- Node.js. https://nodejs.org/
The first two pieces of software allow you to run a local virtual machine (VM). The third piece of software will allow you to build the front end software.
- Sublime Text. http://www.sublimetext.com/. Great editor for Javascript codebases.
Follow the steps below to set up your local development environment:
-
Download command and control executable.
a. Windows: cm-control.exe
b. OS X: cm-control
-
Email us your public IP address.
... == Church Management Command and Control ==== My public IP address: 70.183.18.4 ...
-
Select i from the command and control menu
... Menu: [ i ]: Installation of church management virtual machine ...
Problem: The virtual machine won't start!
Answer
If you have the files needed to start the virtual machine (Vagrantfile, debian-jessie.box), then you can alternatively run vagrant up
without the cm-control executable.
The church management product is a single page application (SPA) that is primarily written in Javascript. The SPA communicates with a RESTful API to read and write data. All data is persisted in a database.
The three layers in more detail:
Single Page Application
We use React (http://facebook.github.io/react/) as the primary technology for our application.
RESTful API
The API is written in C#. Specifically we are using .NET 5.0 which is also called "dnx" or "vNext". (https://github.com/aspnet/home)
Database
We picked Postgres as our database. (https://en.wikipedia.org/?title=PostgreSQL)
All the layers run in Linux and more specifically on the Debian/Wheezy distribution. Additionally we use Docker to containerize each layer. The API and database both reside in their own containers.
To contribute to the front end codebase you'll need to get a few things installed first.
- Node.js (https://nodejs.org/)
- A good editor/IDE for Javascript development. We recommend Sublime Text (http://www.sublimetext.com/).
- A git client. We have had good luck with the Github client (https://windows.github.com/, https://mac.github.com/).
After getting the software installed you'll need to do the following to begin to actually write code:
- Create a Github account if you don't have one and communicate your Github username to the Church Management team.
- After you've been added to the private repository, you'll need to
fork
the repository. - Now you'll need to
clone
your forked repository to your local machine. You can use the Github client for example to do this. - Open a command prompt/the console and navigate to the directory where you cloned the repository.
- Assuming
node -v
returns valid data, typenpm install
. This will install all dependencies. - Now type
npm start
to run the application.
When the above steps are completed, you should be able to go to http://localhost:8080
to see the application running. If that doesn't work, go to the Troubleshooting section.
Below are links to videos and articles that will help get you up to speed. No fluff has been included. Each link is worth the time.
Git
React