MUNComputerScienceSociety / ABALookup

A project that aims to simplify the process of finding a therapist for parents with a child with autism.
BSD 2-Clause "Simplified" License
4 stars 3 forks source link

ABA Lookup

Finding an ABA therapist is a very difficult task for parents of children with autism. ABA Lookup aims to simplify the process by matching therapist based on an algorithm developed by the Memorial University of Newfoundland Computer Science Society that ranks therapist based on their compatibility.

Build status

Branch Build Status
Master Build Status - Master

How to help

First and foremost, you will need a GitHub account -- all of the development happens here. Please fork the project, make changes, and submit a pull request. To avoid doing work that won't get merged in here, open an issue and chat about it first. You can learn more about forking and pull requests from GitHub Help.

Please also open issues for any possible enhancements or bugs you find.

For more details on contributing, please see the the guidelines for contributing to this repository.

If you're still a bit hesitant and would like to get a bit more insight into the what's and why's of this GitHub stuff, there are a number of GitHub Guides that talk about more of the general topics. Feel free to start with Contributing to Open Source on GitHub.

Diving in

You will need your development environment configured appropriately for the project. If you want to set things up yourself, awesome, take a look at the list of requirements below. If you'd prefer to use a preconfigured development environment, we have one for the project.

Development requirements

If you are setting up your development environment yourself, you will need:

Remember: we have a development environment preconfigured for this project that you can use to get up and running a lot quicker.

Downloading the project

If you are using the preconfigured development environment, it will automatically clone the repository for you.

If you are doing your own thing:

cd <wherever you keep your projects>
git clone https://github.com/<your username>/ABALookup.git
cd ABALookup
npm install -g grunt-cli
npm install
grunt install

Running tasks (via Grunt)

After downloading the project, you'll need to generate both the CSS files from the Sass files, and a single JavaScript file from the (possibly many) JavaScript files. To do so:

grunt compile

See the README file in the JS folder and the README file in the Sass folder for more information about how they're organized.

Unit tests

Unit tests for the AbaLookup module reside in the module/AbaLookup/test folder and can be run with the following command:

scripts/test-phpunit

Accessibility tests

Accessibility tests for the site use the pa11y node.js module, and can be run with the following command:

scripts/test-pa11y

This test suite will check a set of routes against the W3C WCAG2.0 AAA standard. As always, pa11y can't catch all accessibility errors. It'll detect many of them, but please open an issue for things that can be improved.

JavaScript linting

To run JSHint against the project's JavaScript files:

grunt lint

All the tests

To run the complete test suite, which includes JSHint, PHPUnit, and the accessibility tests:

grunt test

Coding standards

This project tries to adhere to the Zend Framework Coding Standard for PHP with the following modifications:

Also, try to keep Git commit messages terse - if they are getting truncated by GitHub, that's not a good sign.

Browser support

We are aiming to support the following browsers:

Please open an issue if there are any incompatibilities in any of these browsers.

If you run into issues with other browsers as well, feel free to open an issue, but do know that the possibility of it being fixed is slightly smaller.

License

This software is licensed under the Simplified BSD License.