Interaction. The Ratings app is aimed at enhancing the in class experience. Students perform surveys before and after discussions, and these changes are loaded live in the Ratings application to view. Aditionally, there are tools that randomly select students, show their written justifications, and allows the professor to call on them. Out of class, the students are able to graph any combinations of the data availible from assignments and surveys with the Analytics app, and even create predictive models, create regression models, cluster students, and use Natural Language Processing to analyze justifications of decisions with the Predictive app.
Challenges. Creating this suite of apps provided a complete full stack experience. From database management and job scheduling to user testing and setting up developer/deployment environments, I learned a lot about building, iterating, maintaining, and streamlining a live running app for real users. I gained appreciation for shell scripts, which could automate my deployment pipeline. I also gained appreciation for Docker containers, which further streamlined the deployment process and saved me hours of time. Overall, I learned a lot about a variety of development practices in a full stack environment.