During 2018, I was a junior frontend developer building a Ruby on Rails web application for Technovation. Technovation is the largest technology entrepreneurship competition for girls ages 10-18. Every year Technovation invites girls from around the world to identify a problem in their community, and then challenges them to solve it. Girls work in teams and are supported by mentors to develop a mobile app and to launch a startup. In 2018 over 12,000 girls from more than 100 countries participated in Technovation.
The web app allows students to form teams with each other and with mentors. Students submit their work through the app, and judges review it and give scores. Chapter leaders can manage the users in their area and organize events for students to attend.
The app supports five types of users: students, mentors, judges, chapter leaders, and admins. Technovation is run in seasons, and requires the app to have different functionality during each part of the season. The parts of the seasons are described below, along with the specific needs for each user type.
- Students and mentors must be able to form teams, chapter leaders must be able to view and manage all their students and teams
- Students must be able to submit their work online
- Event Selection
- Chapter leaders must be able to plan events, students and mentors must be able to sign up for them
- Judges view and award scores to students work, admins review
- Students and mentors can see the results of judging