Inspiration
Often we find our peers asking us when the deadline is for course labs, tests, assignments etc. and how much each assessment is worth. We could not find a single app to our liking that keeps track of upcoming deadlines, and gives notifications, as well as, calculates your target grades in each assessment. In our experience, the university website crashes often and students are lost. This app would help students in these situations.
What it does
Flow helps keep track of the students course deadlines and helps keep the student informed about upcoming tests and quizzes by acquiring real-time date data from course websites. Flow shows how much time is left before the deadline and organizes the deadlines. It also lets student calculate how much they'd need in each lab, quiz, test and assignment to reach their target grade for the course.
How we built it
Flow's front-end was built using Flutter and Dart. It stores and syncs data with Firebase NoSQL cloud database. Data is synced across all clients in real-time, and remains available when your app goes offline. Data is stored as JSON and synchronized in real-time to every connected client. All of your clients share one Realtime Database instance and automatically receive updates with the newest data from Firebase. The front-end then displays data to the user.
Challenges we ran into
For the front-end aspect, many challenges happened with the emulator crashing and not responding and also trying to figure out the dart language as this was new to us. We had to wipe the data from the emulator and do a cold reboot each time so it would not get stuck with old data. For backend, we had issues creating SQL database with Strapi and Postman. Because it wasn't the most efficient solution since it was harder to extract real-time database. It was already very slow and would have been much slower for a big university. The workaround was JSON strings and NoSQL database using Firebase and to extract data was much smoother. Another main challenge we ran into was connecting front-end with back-end.
Accomplishments that we're proud of
We are happy about both front and back ends. This was all very new to us and we were able to hit most of our front-end targets under 24 hours. The UI is feasible. And for the back-end we were also able to extract real-time data which was crucial for this project. We are proud of our ability to adapt. We were all gas, no breaks throughout, and that's why it was much easier to come up with different solutions from different angles and be flexible under pressure and under time-constraints.
What we learned
We gained more knowledge about query languages and different aspects of back-end. We learned different ways of implementing data and how to utilize it more efficiently. We also got better with Flutter, Firebase and Dart through this hands-on practical approach. And this experience will be very useful in the future and help our software development careers.
What's next for Flow
We plan on making Flow more efficient. Our main target is to make the UI/UX much more user-oriented. Flow would have an authorization option and it would automatically extract real-time data from university course websites. We plan on making it more flashy by adding a course tab that would let you see the breakdown for the course and how much each assessment is worth. And it would also let you connect to course TAs, option for professors to put down notes regarding assessments etc. Our goal is also to make the calculator much more efficient. When we build cross-platform apps with our iOS, Android, and JavaScript SDKs all the users will receive better Realtime database. We plan on optimizing the flow of real-time data from our back-end to our front-end.




Log in or sign up for Devpost to join the conversation.