Skip to content

Latest commit

 

History

History
332 lines (266 loc) · 15.4 KB

README.md

File metadata and controls

332 lines (266 loc) · 15.4 KB

Nexus

Students often create group chats for their courses to collaborate and share information, but these groups are not always accessible or inclusive. Nexus solves this problem by providing a centralized platform where every course automatically has a dedicated group. Nexus allows students to communicate, plan ahead, share study notes, and access advanced collaboration tools. These tools include forums, document sharing, and a feature that compares and consolidates typed notes into a comprehensive master document. With Nexus, all students can easily join and benefit from course-specific groups, enhancing their learning experience and academic success.


MVP 🏆

  • User account with secure authentication

  • Personal Profile

    • Username
    • Email
    • Major
    • University
    • Current Courses
    • Student Email for Verification
  • Course Groups

    • Groups are automatically created for each course
    • Ability to join/leave groups, ensuring accessibility for all students
    • Course information (via UTD Coursebook or Nebula API)
      • Instructor
      • TA
      • Access to Course Syllabus
  • Messaging and Collaboration Tools

    • Live messaging
    • Document sharing
      • Via uploading and downloading documents
    • Lecture/Chapter subgroups for easy document navigation
    • Superior Doc
      • Create a summarized or combined document of all the docs in each subgroup
    • Discussion Forums
      • Can be created by students if they want to talk about certain areas within their course.
  • AI Assistance

    • AI assistant that can access class chats and study notes to provide help and answer questions.



Stretch Goals ⏳

  • OCR scanning to digitize handwritten notes
  • OCR Scanner of Student’s Schedule for easier course upload
  • Faculty Involvement
  • Reward System for those that share their notes
  • Shared whiteboards
  • Assignment Calendar

Milestones 📆

Week 1: Set Up 🚀

General:

  • Discuss with the team who’s frontend/backend and the overall project/tech stack
  • Set up communication, environments, and WhenToMeet(Link available in doc) 📆
  • Go over GitHub basics
  • Create a Figma account and start working on UI designs (For Everyone) 🎨
    • Start with Low Fidelity and then build up to High Fidelity

Backend:

  • Start looking into AWS and frameworks
  • Look into AWS kendra for AI

Week 2: Further Preparations 🔍

Frontend:

  • Go over some UI design basics and do’s/don’ts
  • Try to finish up the Figma Design by the end of this week

Backend:

  • Start setting up the User Authentication and the Database. Have a working prototype by the end of the 2nd week
    • Use student email or Full Name to validate that they are a student with UTD Directory (OPT)
  • Keep doing research with the AWS Tech Stack
  • Start looking into superior Doc feature and start working on Amazon Kendra

Weeks 3/4: Coding 🧑‍💻

Frontend:

  • Start working on the frontend components
  • Login/Create Pages
  • Home Page 🏠
    • Access to Course Group Chats 🧑‍🤝‍🧑
      • Allow the student to enter Course Number and section.
      • Should be able to view who all is in the GC
      • Document Sharing section
        • Has subgroups for Sections/Chapters in the Course
        • Area for Superior Doc Feature
      • Course Details
      • Access to AI Assistant 🤖
      • Access to Discussion forums
    • Access to Profile Page 🧍
      • Should be able to view their information and editable

Backend:

  • Start working on live messaging
  • Work on gathering all the courses from UTD Coursebook
    • Store Course Number, section, details and syllabus if available, in DB
  • Course Validation
    • Students should be allowed to enter any course they want to enter, but we should validate if that course exists or not.
    • Furthermore, if possible, validate that the student belongs in that course.
  • Start developing the database to hold messages and documents
  • Once database is setup, start working on the superior doc feature for the docs
    • Should create two docs, a summarized doc, and a comprehensive doc.
    • Should also be able to update both docs whenever new docs are inserted.
  • (OPT) Validate the Student via UTD Directory
  • Keep looking into AWS Kendra, but do not implement until database and other features are set up first.

Weeks 5/6: Middle Ground 🚧

Frontend:

  • Course Group Chats 🧑‍🤝‍🧑
    • Continue on working on the sections
      • Course Details
      • Messaging
      • Roster
      • Document Sharing
      • Discussion Forums
      • AI Assistance
  • Profile Page 🧍
    • Has user’s information and their courses.
      • Should be editable if needed
  • If not done already, create app logo!!

Backend:

  • Start connecting pages to Database
    • Needs to have:
      • Course Group Chats messages
      • Documents
      • User’s info
      • Course Details
    • Backend and Frontend need to be able to communicate with each other before moving forward
  • Once finished continue working on any remaining pages
    • Prioritize getting the Live Messaging and Superior Doc feature up and working.
    • Once completed, start working on AI Assistance.
  • Home Page 🏠
    • Each user should have their own listing of courses and be able to access the GC from them.
  • Decide if we are going with UTD Coursebook or Nebula API on week 5 and start working on this

General:

  • The backend team should, one at a time, start connecting the finished backend pages with the frontend. During this process, the frontend team should be testing the connection with a set of basic user cases.
  • Moving in and out of pages, uploading correct and wrong information, etc.

Weeks 7/8: Finishing Touches 🏁

General:

  • Finish any remaining pages and implementations by the 7th week
  • Finish connecting Frontend with Backend by the 8th week
  • If possible work on stretch goals
  • Start looking into Presentation material and creating a script

Weeks 9/10: Preparations ✨

General:

  • Prep for Presentation Night! 🥳
  • Make sure the Slides and Demo are ready and good to go


Tech Stack & Resources 💻

React Native

Node

AWS Tech Stack


Alternatives 🔄

Flutter

MERN Stack

Alternatives to Amazon Kendra

  • Elasticsearch:
    • Overview: Elasticsearch is a powerful open-source search engine that can index and search large volumes of data quickly.
  • Azure Cognitive Search:
    • Overview: A fully managed search service by Microsoft that provides AI-powered search capabilities.

Alternatives to Amazon Lex

  • Dialogflow (by Google Cloud):
    • Overview: Dialogflow is a natural language understanding platform that makes it easy to design and integrate conversational user interfaces.
  • Microsoft Bot Framework:
    • Overview: A comprehensive framework for building conversational AI experiences, part of the Azure Bot Service.

Alternative to Apify/UTD Coursebook

  • Nebula API:
    • Overview: An API developed by UTD Nebula Labs that provides data regarding UTD class sections as sourced from Coursebook.

Roadblocks and Possible Solutions 🚧 💡

  • Having everyone’s machine work with React.
    • If this is an issue then we can switch to Flutter and see if that works, otherwise confer with others to find a better solution that works for everyone.
  • Either the Frontend or Backend team falling behind.
    • If this happens the best course would be to get some assistance from the other side until caught up
  • Running into AWS Tech Stack Issues.
    • If for any reason we are having a hard time with utilizing AWS in the early stages of development then we immediately switch over to MERN as it is similar.
  • Issues with Amazon Kendra or Lex
    • If we are having a hard time developing either of these two, or the cost becomes abnormally high then we switch to alternatives. If not enough available time then switch AI assistance with the next available stretch goal.

Competition 🆚

  • Blackboard, Canvas (No dedicated collaboration focus)
  • Discord, Slack, GroupMe, Microsoft Teams (General communication tools)
  • StudyBlue, Quizlet (Study tools without collaboration focus)
  • Google Classroom (Limited collaboration features)

Other Resources ➕


Git Commands 📓

Command What it does
git branch lists all the branches
git branch "branch name" makes a new branch
git checkout "branch name" switches to speicified branch
git checkout -b "branch name" combines the previous 2 commands
git add . finds all changed files
git commit -m "Testing123" commit with a message
git push origin "branch" push to branch
git pull origin "branch" pull updates from a specific branch

Nexus TEAM!! 🥳 🎆

  • Prerita B
  • Thomas Le
  • Naomi Ntuli
  • Indrajith Thyagaraja