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.
-
User account with secure authentication
-
Personal Profile
- Username
- 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.
- 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
Week 1: Set Up 🚀
- 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
- Start looking into AWS and frameworks
- Look into AWS kendra for AI
Week 2: Further Preparations 🔍
- Go over some UI design basics and do’s/don’ts
- Try to finish up the Figma Design by the end of this week
- 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 🧑💻
- 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
- Access to Course Group Chats 🧑🤝🧑
- 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 🚧
- Course Group Chats 🧑🤝🧑
- Continue on working on the sections
- Course Details
- Messaging
- Roster
- Document Sharing
- Discussion Forums
- AI Assistance
- Continue on working on the sections
- Profile Page 🧍
- Has user’s information and their courses.
- Should be editable if needed
- Has user’s information and their courses.
- If not done already, create app logo!!
- 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
- Needs to have:
- 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
- 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 🏁
- 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 ✨
- Prep for Presentation Night! 🥳
- Make sure the Slides and Demo are ready and good to go
- Setup
- Setting up the Environment
- React Native #1: Setup Visual Studio Code
- Drag & Drop Documents:
- Do’s and Don'ts
- Node Download
- What is Node?
- This is optional but I recommend taking a look at this.
-
Great Video to watch!!
-
Database/Storage:
-
API:
-
- Working with Data in DynamoDB from React with AWS Amplify
- This video will go over how to use DynamoDB with AWS Amplify and React.
- Working with Data in DynamoDB from React with AWS Amplify
-
- Amazon Kendra is an advance search service that will retrieve any information based on a basic search query. This is good for if we treat our documents and chats as a knowledge base and have Kendra retrieve relevant information based off the student’s questions
- Build an intelligent search application in a few clicks with Amazon Kendra
- AWS Kendra - Enterprise Search Service | Create Index, Custom Datasource & Search Experience
-
- Amazon Lex is a conversational AI that, given any information and question, will be able to reply in a human-like manner. This is great if we combine this with Kendra to gather the important information first and then have Lex reply to the student in a conversational manner.
- Conversational AI and Chatbot (Amazon Lex Tutorial)
- Amazon Lex: 8 Things You HAVE To Know 🔥 | AWS
-
- A powerful automation platform that offers ready-made scraping tools for websites like Facebook, Amazon, and Twitter, and supports JS rendering, CAPTCHA solving, and IP rotation. Use this to web scrape UTD Coursebook.
- Apify Tutorial For Beginners | How To Use Apify
- How to use Web Scraper from Apify to scrape any website
-
-
Servers: (Optional)
- Documentation
- Installation:
- Beginners Guide:
- Basics:
- This works really well with React Native and with MongoDB it can handle any form of data without any issue
- MERN Stack Playlist. It goes over how to create user authentication. Hence, I suggest looking at that portion
- MongoDB Playlist:
- 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.
- 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.
- Nebula API:
- Overview: An API developed by UTD Nebula Labs that provides data regarding UTD class sections as sourced from Coursebook.
- 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.
- 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)
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 |
- Prerita B
- Thomas Le
- Naomi Ntuli
- Indrajith Thyagaraja