Skip to content

Commit

Permalink
Additions and corrections to readme
Browse files Browse the repository at this point in the history
  • Loading branch information
jbrown123 committed Feb 23, 2021
1 parent fabd96a commit 5a5e8eb
Showing 1 changed file with 12 additions and 11 deletions.
23 changes: 12 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Merit Badge Counselor List

`MBCList` is a secure single page web application that creates a user friendly interface to the Merit Badge Counselor (MBC) information available in ScoutNET / ScoutBook.
`MBCList` is a secure single page web application, requiring no backend infrastructure, that creates a user friendly interface to the Merit Badge Counselor (MBC) information available in ScoutNET / ScoutBook.

Demo at https://jbrown123.github.io/mbclist/ (using completely made up data)

# Table of Contents
- [Rational](#rational)
- [Dependencies](#dependencies)
- [Usage](#usage)
- [Proximity Calculations](#proximity-calculations)
- [License](#license)
- [Dependencies](#dependencies)
- [FakeData Templates & data files](#fakedata-templates-data-files)
- [template.tpl:](#templatetpl)
- [template.streets.txt](#templatestreetstxt)
Expand All @@ -19,12 +19,21 @@ Demo at https://jbrown123.github.io/mbclist/ (using completely made up data)
- [template.badges.txt](#templatebadgestxt)

## Rational
ScoutBook doesn't have an interface for district and council level volunteers to access the list of MBCs (e.g. Lone Scout coordinators, council advancement committee, district committee, district advancement chairs, etc.). ScoutBook has made it abundantly clear that they have no intention of supporting district or council usage. And BSA has been equally clear about not allowing volunteers to contribute code to their systems.
ScoutBook doesn't have an interface for district and council level volunteers (e.g. Lone Scout coordinators, council advancement committee, district committee, district advancement chairs, etc.) to access the list of MBCs. ScoutBook has made it abundantly clear that they have no interest in nor intention of supporting district or council users. And BSA has been equally clear about not allowing volunteers to contribute code to their systems.

Consequently, a mechanism for volunteers to manage MBCs outside the BSA supplied infrastructure is necessary. That's where `MBCList` comes in.

This is not a full management system at present. This version only provides a simple way for councils or districts to share their MBC information with a user friendly interface. It provides reasonable protection for the registered MBCs PII (Personally Identifiable Information) via AES 256 encryption of the entire HTML file. While this protection is not 100% foolproof, it should provide far more protection than a simple encrypted PDF or Excel file, for example.

## Dependencies
* [jQuery](https://jquery.com/) for basic JS access to the DOM.
* [DataTables plug-in for jQuery](https://datatables.net/) to do table management, sorting, searching, and filtering.
* [StatiCrypt](https://www.npmjs.com/package/staticrypt) encrypts the final webpage output (optional, but highly encouraged).
* [Perl](https://perl.org) for ingesting data and other light scripting tasks. Any Perl will do (the scripts are quite simple and generic), but I recommend [Strawberry Perl for Windows](https://strawberryperl.com/).
* [GeoNames](http://www.geonames.org/) is the source for the ZIP code centroid data. Download the `US.zip` file from [this directory](http://download.geonames.org/export/zip/).
* [lucapette/fakedata: CLI utility for fake data generation](https://github.com/lucapette/fakedata) was used for generating fake data for testing and demo purposes. This is not necessary for production use.
* Note that there is **NO** backend infrastructure required as all the data is included in the generated HTML file. In fact, this file doesn't even require web hosting. It can reside on a local drive and work just fine. It does need web access to download the JQuery library and plugins mentioned above although these could easily be downloaded and provided locally as well if necessary.

## Usage
In order to generate a usable version of this program several steps need to be accomplished.

Expand Down Expand Up @@ -85,14 +94,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

## Dependencies
* [jQuery](https://jquery.com/) for basic JS access to the DOM
* [DataTables plug-in for jQuery](https://datatables.net/) to do table management, sorting, searching, and filtering
* [StatiCrypt](https://www.npmjs.com/package/staticrypt) encrypts the final webpage output (optional, but highly encouraged).
* [Strawberry Perl for Windows](https://strawberryperl.com/) for ingesting the raw CSV data from the council. Any Perl (the scripts are quite simple and generic) will do, I just recommend Strawberry for Windows.
* [GeoNames](http://www.geonames.org/) is the source for the ZIP code centroid data. Download the US.zip file from [this directory](http://download.geonames.org/export/zip/)
* [lucapette/fakedata: CLI utility for fake data generation](https://github.com/lucapette/fakedata) was used for generating fake data for testing and demo purposes. This is not necessary for production use.

## FakeData Templates & data files

For testing or demonstration purposes I created some fake data to represent the merit badge counselor information that can be exported from the BSA systems.
Expand Down

0 comments on commit 5a5e8eb

Please sign in to comment.