A questionnaire to help people identify their exposure to tech and tech culture.
Version: 2.1.0
This app provides an easy and streamlined method to conduct a survey of participants' life experiences which have affected their exposure to technology. The end product of the survey is a graphical representation of the survey results to facilitate a conversation about distribution and differences of people's experiences to build empathy and understanding.
A login page requires an administrator to input their own private JotForm API key with 'full access' permissions. An administrator homepage written with HTML, CSS, and JavaScript is the initiation point for spawning a new instance of the survey. Through the use of a clone process with JotForm API, a survey URL for the new group or class is created. The administrator can then copy the link and send it to participants. Each participant interacts with the JotForm frontend form and clicks submit. Data is then gathered by this app through JotForm's API. The results of the survey are then plotted using chartJS. A list of previous group results can be viewed as long as the forms exist on JotForm.
Method | Endpoint | Purpose |
---|---|---|
GET | '/' |
default page, rediects to '/admin' or '/login' based on cookie |
GET | '/login' |
login page / requires JotForm API key from administrator of a survey |
GET | '/login/session' |
automated loging based on cookie |
POST | '/login/session' |
manual login handler, when no cookie present |
GET | '/result/{id}' |
show the graph of a particular survey |
POST | '/survey/create' |
clone a survey from the template survey |
GET | '/survey/{id}' |
fill out a survey |
App developers:
Refactored by: Tahmina RInger, Wilfried Motchoffo, Mark Bell Original Authors: Dominique Augurson, Spencer Lazzar, Kevin McNeil, Paul Leonard
Gratitude:
- Thanks to Brook Riggio for the idea to create a practical app to help administer this survey to help open up people's views and increase empathy for others.
- Thanks to instructors Brian Nations & Lena Eivy for teaching us the skills over the last months to make this possible
- Thanks to Brian Nations for serving as our PM and tech help during this week.
- Thanks to the excellent advice, guidance, and explations of our TA's: Morgan Heinemann, Chance Harmon, Skyler Burger, Ron, Bade, Nicco, Cait... others?
Resources referenced:
- JotForm API for form management.
- W3Schools for CSS syntax.
- Stack Overflow for general questions!
- JSON.stringify() at GeeksforGeeks
- JSON.parse() at W3schools
- REPL
- MDN Slice for syntax
- Date to ISO Standard at Geeks for Geeks
- typeof syntax at freeCodeCamp
- to stop adding duplicates to the history rendered page
- margins
- CSS selectors
- clears
- flexbox
- grid
- map
- MDN Array.prototype.fill()
- Sticky Header