Nonprofits had difficulties collecting data from surveys. They performed a lot of manual data entry.

What it does

Full stack application running out of one docker container with a front and back end that can create forms that can then be filled out, scanned, and submitted parsed by the application. It will then be stored in a MySQL database. Data can be imported and exported as csv files.

How I built it

We used R Shiny and Shiny Server to implement an interactive web application which acts as the GUI for the user when they go to create a survey or upload a survey for data analysis. Multiple R libraries were used.

Challenges I ran into

Creating interactive buttons that create text fields dynamically on press without losing previous text written into other text fields. Displaying a preview of the survey on the application as questions were being added. Properly parsing and storing the questions/answers the user inputs for means of displaying properly on screen. Converting the questions/answers that the user inputs into an R Markdown file that can be properly parsed to create a survey. Throughout the hackathon, we battled through several challenges. Perhaps the greatest challenge was defining a standard to use that will allow our NPOs to manage their data in a way that not only saves time, but also keeps their customers happy. We ultimately decided to try out building an R shiny application that utilizes the exams package. This allows the users to fill out a traditional form that they are used to, while giving the NPOs the flexibility and efficiency of a dashboard. Other challenges include identifying the best means of collaboration between the team (we initially went with Atom, but then settled with Visual Studio Code), as well as knowing exactly how to approach solving the challenges that were pitched by the three NPOs.

Accomplishments that I'm proud of

Interactive dashboard Data analytics All in one container Security scalability lightweight can be deployed anywhere that has Linux

What I learned

Create R Shiny applications with an interactive dashboard Exams package from R How to build a full stack (front-end back-end) in one container Docker, SQL, R, Host in digital ocean

What's next for survey-stack

We would like to approve the scanning capability of the application and add more analytics to the data.

Built With

Share this project: