ShareSched đź“…

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.

MVP

  • 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

Stretch Goals

  • 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

Milestones

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
  • 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

Git Cheat Sheet

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

Tech Stack

Front-End: Flutter

Back-End: Firebase

- APIs

Software to Install

Other Resources

Team ShareSched

Developers:

  • Noel Emmanuel the coolest
  • Nadeeba Atiqui the best
  • Aldrin Roshan the aim bot
  • Faizan Kalam

Industry Mentor:

  • Erik Rodriguez

Project Manager:

  • Karina Batra