Recently, in our experience with online school, we have noticed that is really tough to meet and collaborate with fellow students. Having peers to work with, befriend, and build lifelong friends is one of the biggest reasons why college is great!
The coronavirus pandemic has made collaboration especially hard. There is an increase in mental health issues worldwide. The last thing students should have to worry about it is what happened in school, what if an unfortunate circumstance arises? Those are becoming more and more likely with the remote nature of school.
What it does
BUDDYSTUDY is a collaborative notes app. It allows users to add classes, add notes and reminders to classes, and upvote and downvote notes.
Adding Notes is powerful in BUDDYSTUDY. Using our text editor, embed images and videos are easily parsed and implemented into our database. The database is dynamic, so any changes save!
Upvoting and downvoting notes works like reddit. The notes are automatically sorted by upvote number so it is easy to see the most helpful notes right away!
How we built it
- MERN stack.
- REST API created using express.js and node.js
- Front-end developed using React
- Cloud Database hosted by mongoDB
Challenges we ran into
- Setting up a REST API is very confusing!
- Conventions in different request methods result in a lot of debugging!
- CSS is very time consuming. It can really be hard to get that button to be in the middle of a component.
Accomplishments that we are proud of
- Fully set up a backend. All the data is dynamic.
- We all have only tinkered with React with classes, and through this project we are now comfortable with React with hooks.
- Set up our own REST API.
What we learned
- REST API implementation
- React with hooks
- Axios/fetch calls and dealing with asynchronous problems
What's next for BUDDYSTUDY
- Response layout(please launch full screen)
- File Uploader (more database demands, mongoDB free tier doesn't cut it)
- Severless API, put it on the cloud
- Groups for users
- More schools other than UNC
- Implement BUDDYSTUDY for work projects (notes for work meetings?)