Have you ever wanted to compare schedules with a friend but found it too tedious to compare every little time, professor, and location? ShareSched is an app that allows you to upload a picture of a schedule and extract the key details from it. ShareSched can also find similarities in your schedule and your friend’s whether it’s location, professor, class section, or more! ScareSched is the app you need when schedule planning time comes up.
- User account with user authentication
- My Schedule tab for user’s schedule
- Friend Schedule’s tab for schedule of friends
- User is able to upload a picture of a schedule and user is able to take photo of schedule within the app
- Image to text conversion of schedule image to schedule
- Comparison feature to find similarities between 2 uploaded schedules
- Percentage indicator of how similar 2 schedules are
- Implementation of Google Calendar API to take school schedule from ShareSched and put them on a user's schedule
- Implementation of the RateMyProf API to provide further insight into a user's schedule - https://github.com/tisuela/ratemyprof-api
- Social aspect that allows you to find other people with the same class (i.e include discord link for a certain class)
- QR Code feature that allows users to compare schedules without taking a picture of the schedule
- Analytics tab that includes useful insights about the schedules
- Ex: total time spent in class
Week 1 Meet team, decide frontend/backend teams, set up development environment, finalize tech stack
Week 2
- Flesh out collective vision for the app
- Learn basics of Flutter
- Frontend:
- Create wireframes for UI in Figma/AdobeXD
- Learn Flutter frontend
- Backend:
- Plan out database design schema
- Learn basics of Google Firebase
Weeks 3/4
- Backend and frontend communication to ensure cohesive application
- Frontend:
- Finalize UI Design
- Code initial screens
- Sign up and login screens
- My schedule tab
- Research how to upload images/take pictures in a Flutter app
- Backend:
- Set up user authentication
- Set up database to store user information and user schedule objects
- Research Google Cloud OCR and plan out usage for ShareSched backend
Weeks 5/6
- Backend and frontend communication to start integrating backend with frontend
- Frontend:
- Finish screens:
- Friend screen
- Compare screen
- Implement ability to upload images and take pictures of schedules
- Finish screens:
- Backend:
- Implement Google Cloud OCR API to gather data from schedule images
- Work on schedule comparison features
Weeks 7/8
- Backend and frontend communication to finish integrating backend with frontend to connect and test
- If far along enough, start working on stretch goals:
- Analytics tab OR
- RateMy Prof API implementation in some way OR
- Social aspect w/ Discord links OR
- QR Code feature
- Frontend:
- Polish up MVP features and help backend if needed
- Backend
- Finish schedule comparison feature
Weeks 9/10
- Prepare for presentation
- Polish app so it is presentation ready
Pulling from repo | |
---|---|
Step 1 | I usually will do 'git status' just to make sure I am on the right branch and everything is okay |
Step 2 | 'git add .' |
Step 3 | 'git commit -m "pulling"' |
Step 4 | "git pull origin main" -> or replace main with another branch if needed |
Pushing to repo | |
---|---|
Step 1 | I usually will do 'git status' just to make sure I am on the right branch and everything is okay |
Step 2 | 'git add .' |
Step 3 | 'git commit -m "-insert features you have added-"' |
Step 4 | "git push origin -your-branch-" -> or replace main with another branch if needed |
Step 5 | Navigate to Github and create a pull request |
Creating a Branch | |
---|---|
Step 1 | I usually will do 'git status' just to make sure I am on the right repo and everything is okay |
Step 2 | 'git branch -b -insert your name here-' |
Step 3 | 'git checkout -your branch name-' |
Step 4 | commit and push to see your branch appear on Github |
Front-End: Flutter
- Flutter Installation
- Easy to learn, works on both macs and windows, good for mobile applications, contains helpful libraries as well
- Resources:
Back-End: Firebase
- Easily compatible with Flutter
- Works well with Google Cloud OCR
- Resources:
- APIs
- Rate My Prof
- Google Calendar API
- Google Cloud OCR
- Flutter Calendar Option 1
- Flutter Calendar Option 2
- Visual Studio Code or Android Studio
- Git (version control)
- Flutter
- Firebase
- Git cheat sheet
- Git in-depth tutorial
- Postman set up tutorial
- Sharing any graphics using Box
- Sign up for Figma
- Wireframe design inspiration
- Resources to make presentations:
- Pitch (more “professional” templates)
Developers:
- Noel Emmanuel the coolest
- Nadeeba Atiqui the best
- Aldrin Roshan the aim bot
- Faizan Kalam
Industry Mentor:
- Erik Rodriguez
Project Manager:
- Karina Batra