Skip to content
This repository has been archived by the owner on Jun 24, 2020. It is now read-only.

jvt/Brainy-Kids

Repository files navigation

CircleCI

8108 - Brainy Kids Administration panel and Analytics Platform

This is the codebase for the Brainy Kids backend and administration panel. This repository also includes the code required for ingesting analytics from the various applications. Keep in mind that this application has to be running only on a single computer/server. All other teachers, administrators, etc will access it through the web.

Pre-requisites

  1. Make sure you have Node.js installed (Make sure node --version prints out a version number)
  2. Make sure you have the latest version of MongoDB set up either locally or point it to a remote server (see "Getting Started")
  3. If you want to install this for actual use, make sure you install it on a server that can be accessed by any computer that wants to use it. This usually means the server should have a static IP address and correct port forwarding/firewall configuration.
  4. You must have npm installed. Run npm --version in your terminal and expect to see a version number printed out

Getting started

  1. Clone this repository (git clone git@github.com:jvt/Brainy-Kidz.git)
  2. Open the repository (cd Brainy-Kidz)
  3. Install the dependencies (npm install)
  4. Duplicate .env.example and rename it to .env
  5. Open the .env file and add a JWT_SECRET. It should be a random series of letters / numbers. This string is used to encrypt all the tokens for access to the site.
  6. Also set MONGODB_URI to either point to your local machine or wherever your MongoDB is.
  7. Make sure your instance of MongoDB is running
  8. Start the application with npm run dev
  9. Navigate your browser to localhost:3000

Now other users should be able to access the application by navigating to it in their web-browser.

Common issues

  1. The program will exit on startup if it is unable to find an instance of MongoDB running at the set URI. Be sure that the instance of MongoDB is running before you start the program.
  2. If the program crashes on startup with error messages mentioning the word "dependicies" run npm install in the root directory of the project again.

Release Notes November 30th: v1.0.0

New Features

  1. Various REST API endpoints is available now to access and manipulate information for student, focus items, program, analytics.
  2. You can access information for all students, focus items, programs, and analytics in addition to create, retrieve, update, and delete information for a single student, focus item, program, and analytic.
  3. Our application provides secured access to all information. Authentication of users is done through the use of Json Web Token (JWT)
  4. If you are a teacher, there is a web interface designed specifically for you. It facilitates you in managing your students' accounts and monitoring their learning progresses.
  5. Concerned about FERPA regulations for sensitive information regarding your students, Our application is not storing any of the identifiable information at any time.
  6. You can upload data on students, focues items, program, analytics from csv files.
  7. In addition, anlytics to assess learning performances of each and all of your students is supported, and you can easily access these analytics in your web portal.

Bug Fixes

[None]

Known Bugs

[None]

Developer notes

Viewing the Redux store

  1. From any page on the website, press CTRL + h (Configured in /frontend/components/DevTools.js) to open the Redux DevTools panel
  2. From here, you can view the global state of the application.
  3. To move the window around, press CTRL + w

Running API Tests

  1. From a terminal window, run npm run test or npm test (both do the same thing)
  2. Let the tests run, it will generate a coverage window in the terminal once all the tests have completed running

Continuous Integration

CI is provided by CircleCI and runs on every pull request to ensure tests pass. Merging is disabled until tests pass.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages