Have you ever felt overwhelmed by all the syllabi being thrown at you the first week of classes? Do you hate having to go through 10 pages of a syllabus to find the information that really matters? SyllaBye allows you to upload pdfs of your syllabi and extracts the key information found in every syllabus. From grade information to how many tests, SyllaBye allows you to know what you need to know without all the other fluff! Say goodbye to syllabi and hello to SyllaBye.
- User account with user authentication
- Upload page where you can upload a syllabus
- Original Syllabus page:
- See all original syllabi in pdf form
- Condensed Syllabus page:
- View all extracted information
- Easy-to-read format
- Sort syllabi alphabetically, custom order, etc.
- Extracted Information:
- Grade information
- Test information
- Office hours
- Sentiment analysis for strictness of professor
- Implementation of the RateMyProf API to provide further insight into a user’s syllabus:
- Social aspect that allows you to find other people with the same class
- Implementation of Google Calendar API the to take events from syllabi and insert them onto a user’s calendar OR local calendar system with reminders
Week 1
- Meet team, decide frontend/backend teams, set up development environment, finalize tech stack
Week 2
- Flesh out collective vision for the app
- Frontend:
- Create wireframes for UI in Figma/AdobeXD
- Learn basics of ReactJS
- Backend:
- Plan out database design schema
- Learn basics of MERN Stack (MongoDB, NodeJS, Express)
Weeks 3/4
- Backend and frontend communication to ensure cohesive application
- Frontend:
- Finalize UI Design
- Code initial screens
- Login/Create and Account screen
- Upload Syllabus screen
- Original Syllabus screen
- Research how to upload pdfs in ReactJS
- Backend:
- Set up user authentication
- Set up database to store user information and syllabus objects
Weeks 5/6
- Backend and frontend communication to start integrating backend with frontend
- Frontend:
- Finish screens:
- Condensed Syllabus Page w/ key information
- Implement ability to upload pdfs of syllabi
- Backend:
- Implement NPM library to extract key information from syllabi
- Ensure extraction algorithm will work for all syllabus formats
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:
- Color & Theme change based on user preference OR
- RateMy Prof API implementation in some way OR
- Social aspect
- Frontend:
- Polish up MVP features and help backend if needed
- Backend
- Finish up key information extraction algorithm
- Add in sentiment analysis for syllabi
Weeks 9/10
- Prepare for presentation
- Polish app so it is presentation ready
Overall MERN Stack: MERN Stack Course
Front-End: React
- What is React?
- Tons of javascript libraries that you can use for a variety of purposes, can have better performance since you can pick and choose what needs to be there for the application, widely used in the industry.
- How to Install React on Windows - Getting Started
- Resources:
Back-End: MongoDB + Express + NodeJS
- Widely used
- Has a package manager with libraries that are useful
- Integrates easily with React as the MERN stack
- Resources:
- Build A REST API With Node.js, Express, & MongoDB - Quick
- MERN Stack Full Tutorial | User authentication, JWT, Node.js, MongoDB, React and more
- How to Extract Text from a PDF Document Using JavaScript & Express.js
- File Uploading to MongoDB
- File Upload Setup - Node.js/Express/MongoDB Course #4
- Extracting text from pdf using NodeJS (seems pretty helpful)
- APIs
- Rate My Prof
- How To Use The Google Calendar API In Node.js
- Google Calendar API
- Text Sentiment Analysis
- 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:
- Clara Conner
- Abel Thomas
- Rahul Karthik
- Ansh Naikele: Backend
Industry Mentor:
- Sean Hassan
Project Manager:
- Karina Batra