/student-registration-data

A NodeJS web app that allows university staff to request data from students by dynamically creating forms. Built with ExpressJS, MongoDB.

Primary LanguageCSSMIT LicenseMIT

A web app that allows users to create dynamic forms

Features:

  • Allow students and staff to log in using Google oauth.
  • Allow staff to create student information categories and corresponding form fields. (Eg:
  • Staff should be able to create a category called ‘Medical Information’. They should then be able to create a form field called ‘Blood Group’ in the ‘Medical Information’ category, to be filled out by students.)
  • Allow staff to view student profiles, showing all of the student’s information presented by category.
  • Send students an email notification when a new field is created by a staff member.
  • Allow students to view forms created by staff and fill them.
  • Allow staff to export student information in bulk as a CSV formatted file.
  • Allow staff members to create document request forms that students can fill out and submit. Again, any document request should be assignable to a category. (Eg: Staff members should be able to create a ‘Blood Work Report’ document request in the ‘Medical information’ category.)
  • Copy student document submissions to Google Drive

TODO

  • make sure the app still works
  • replace Jade with Nunjucks
  • use async/await
  • write tests

How to run

  • run yarn to install all dependencies
  • make a copy of .env.example and rename it to .env
  • run yarn start or yarn run dev

Notes

This was originally a private project. I had to get rid of the commit history and some other resources in order to make it public.

Originally based on Hackathon starter.