<commit_before>DemSchoolTools
=====================================

DemSchoolTools is a database that excels at managing Judicial Committee records for [Sudbury](http://sudval.org/)-inspired schools. In addition, it does a satisfactory job of tracking people (students, parents, donors, and others), student attendance, and the management manual.

See [the wiki](https://github.com/schmave/demschooltools/wiki/) for more information.
<commit_msg>Added development instructions to readme<commit_after># DemSchoolTools

DemSchoolTools is a database that excels at managing Judicial Committee records for [Sudbury](http://sudval.org/)-inspired schools. In addition, it does a satisfactory job of tracking people (students, parents, donors, and others), student attendance, and the management manual.


## Documentation
See [the wiki](https://github.com/schmave/demschooltools/wiki/) for more information.

## Hacking
1. [Download](https://github.com/schmave/demschooltools/archive/master.zip) the source code, or clone the git repository.
2. [Download](https://playframework.com/download) the Play Framework.
3. [Download](http://www.postgresql.org/download/) and install PostgreSQL, including pgAdmin III, their graphical administration tool.
4. Start PostgreSQL and create a database named "school_crm".
5. Set the environment variables APPLICATION_SECRET, GOOGLE_CLIENT_SECRET, FACEBOOK_CLIENT_SECRET, and MANDRILL_API_KEY to empty values. You can run the "set_keys_blank.sh" script to do this on Mac/Linux.
5. Run sbt "activator" (see [Play documentation](https://playframework.com/documentation/2.4.x/PlayConsole) for more info) and execute the "run" command at the activator console.
6. Navigate to [http://localhost:9000](http://localhost:9000) in your browser and wait while DemSchoolTools is compiled.
7. When it loads, you should see a message saying "Database 'default' needs evolution!". Click "Apply this script now."
8. Open pgAdmin and run this SQL:

      INSERT INTO organization_hosts(host, organization_id) VALUES ('localhost:9000', 1);
      INSERT INTO tag(title, use_student_display, organization_id) VALUES ('Current Student', true, 1);
      INSERT INTO tag(title, use_student_display, organization_id) VALUES ('Staff', false, 1);

9. Navigate to [http://localhost:9000](http://localhost:9000). You should see a page with headings "Minutes", "People", and "Rules".

{'fraction_non_alphanumeric': 0.11436950146627566, 'fraction_numerical': 0.01466275659824047, 'mean_word_length': 5.489130434782608, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 5, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 5, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1706545', 'n_tokens_mistral': 696, 'n_tokens_neox': 642, 'n_words': 250}