Technology Overview

The technologies we will use to build our product.

Technologies

GeekSurvey is developed as a web application using the Django web framework on the backend and the Bootstrap 5 framework on the frontend. It is deployed on an Ubuntu virtual private server on Oracle Cloud using NGINX as a reverse proxy and Gunicorn as an application server. GeekSurvey utilizes a SQLite database for data storage. To handle logging in with social accounts, such as GitHub and Google, GeekSurvey uses the OAuth delegated authorization framework. For payment processing, GeekSurvey utilizes a sandbox environment provided by PayPal Developer. This allows for testing using mock accounts and payments. Finally, GeekSurvey integrates with Google Forms as the default survey taking platform.


The SuperGeeks team utilized a wide variety of development environments during the development of GeekSurvey. Some team members utilized the PyCharm IDE, while others utilized text editors such as Vim and Atom for code editing. For testing and running changes, team members ran the GeekSurvey Django application locally through the command line. For git, team members utilized a command line interface, either through a native terminal/command prompt or through other applications such as Git Bash. Development was also performed on varying operating systems, such as macOS Monterey and Windows 10.

Codebase

All code for the GeekSurvey project can be found at the NAU-SuperGeeks GitHub organization.

Google Forms Demo

Click here for a short demonstration using Google Forms to track survey participation. This shows the process of creating a Google Form survey and linking back to GeekSurvey only upon completion of the survey. Using this, we can track participation on the backend.