Skip to content

acm-projects/Harmoni

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

animated

Harmoni 📆

Struggling to coordinate group projects or social plans with busy friends/family, especially when exams and deadlines seem to always get in the way? Meet Harmoni, your ultimate scheduling companion designed just for college students. Harmoni takes the hassle out of planning by syncing all your group members’ calendars into one unified view. It smartly identifies free time slots that work for everyone, while carefully avoiding clashes with exams and critical deadlines on your academic calendar. The app then creates a poll with these optimal time slots. Once the group votes on the best time, Harmoni automatically confirms the meeting and adds it to everyone’s calendars, complete with a notification. With Harmoni, group scheduling becomes effortless and efficient.

MVP 🏆

  • MyCalendar Tab
  • Create/Join Groups Feature
  • View Synced Calendar for Each Group
  • Schedule Event Feature
  • Harmoni Algorithm
  • Interactive Poll
  • Do Not Disturb Type Feature (shows others you're currently unavailable)
  • Harmoni automatically adds events to all group members’ calendars once time is confirmed.

Stretch Goals 🌟

  • Notifications
  • QR Code to efficiently connect calendars with someone.
  • Chat feature for each group
  • Feature that shows which group members/friends are currently available
  • Voice Activated Scheduling with Amazon Lex
  • Schedule Tasks through app that will automatically add to group members’ calendars
  • Chatbot where you can ask about hangout ideas
  • Expand to other Calendars like Outlook, etc.
  • Make calendars searchable with Amazon Kendra.
  • Place for shared documents or plan creation

Milestones ☀️

Week 1: Setup 🌅
  • Decide frontend/backend teams
  • Finalize tech stack
  • Research/Learn Tech Stack
  • Environment Setup
  • Learn Git/Github
  • Begin App Design with Figma
Week 2: More Preparation 💡
  • Frontend:
    • Finish Figma Design and Prototype by the end of week
    • Learn React Native
  • Backend:
    • Start looking into the API’s
    • Set up User Authentication
    • Set up Database
Week 3/4: Coding ⚙️
  • Frontend:
    • Login/Sign Up Pages
    • Home Page
    • MyCalendar/Connect Calendar Page
    • Shows schedule for current week
    • Groups page
  • Backend:
    • Integrate Google Calendar API to display schedule in app
    • Develop Group Feature
    • Create groups, Join groups
    • Start looking into how to find free time slots/developing algorithm idea
Week 5/6: Middle Stretch 💫
  • Start Integrating finished backend features with finished frontend pages (Groups, User Auth)
  • Frontend
    • Groups Page
      • Display all groups the user is in, including individual people the user has synced calendars with
    • Individual Groups Page
      • Shows synced calendar + each member and their calendar
      • Would hide specific events, just show blocks of when time is occupied
      • Shows Poll if applicable
    • Schedule Meetup Page
      • Can either pick a date range or find next best time
      • If picking date range, will find all free slots and generate a poll
    • Poll Page
      • Shows all free time slots, anonymously vote
  • Backend
    • Sync events on calendar based on free time slots
    • Research how to incorporate academic deadlines into syncing and implement
    • Poll feature
Week 7: Almost There ⏳
  • Integrate finished backend features with finished frontend pages
  • Finish all features
  • Work on stretch goals if possible
  • Frontend
    • Finish all pages
  • Backend
    • Feature to add scheduled events to all group members’ calendars
    • Poll feature
Week 8: Wrapping Up 🌙
  • Finish backend/frontend integration
  • Add finishing touches
  • Finish stretch goals if possible
  • Begin work on presentation
Week 9/10: Presentation Prep 🎬
  • Prep for Presentation Night
  • Finish Slides + Script + Demo

Tech Stack 💻

IDE: VSCode
Emulator: XCode or Android Studio
Wireframe: Figma

1st Choice Stack: MERN

  • Frontend: React Native
  • Backend: MongoDB + Express + Node.js

Backup: Flutter

  • Frontend: Flutter
  • Backend: Firebase + Dart

Helpful Resources/Tutorials 🔎

React Native:

Flutter:

XCode:

Android Studio:

MERN Stack Backend:

APIs:

Other Technologies for Finding Free Time Slots:

Optional/Stretch Goals:

Git Cheat Sheets:

Resources for Design:

Other Resources:

GitHub Cheat Sheet ⚡️

General Use

Command Description
cd "Harmoni" Change directories over to our repository
git branch Lists branches for you
git branch "branch name" Makes new branch
git checkout "branch name" Switch to branch
git checkout -b "branch name" Same as 2 previous commands together
git add . Finds all changed files
git commit -m "Testing123" Commit with message
git push origin "branch" Push to branch
git pull origin "branch" Pull updates from a specific branch

Developers‼️‼️

  • Mathew Biji
  • Kartik Joshi
  • Muhd Haque
  • Leo dos Remedios

Kanchan Javalkar - Project Manager
Nirranjan Akilan - Industry Mentor