When trying to keep track of marks for a particular course, there is no convient way to do so. Yes, you can use excel spreadsheet or similar methods to do so, but they are over complicated for a task like keeping track of your progression in a course. Thus, we decided to develop a web application that is simple, yet has all the functions that is needed to monitor your advancements in school.
What it does
By letting users create personal accounts, they are able to maintain a list of every assessment that contributes to the mark. They are able to dynamically add recent assessment scores, delete marks or edit assessments' weights. Each component will have a name, weight and the result of the assessment. By providing the list, we are able to calculate the important information such as the overall current average and the maximum achievable average in the course.
How we built it
We build it using MongoDB and Express for the backend/database, and ReactJS for the front end. We then made the frontend and backend communicate by hosting two separate instances on distinct ports and communicating using Axios.
Challenges we ran into
We decided to switch up the roles in this hackathon to work on our weaknesses. For example, those who are good at doing frontend would work on the database backend and vice versa. We also found it challenging to work on code collaboratively in a short period of time as it is essential to be well organized in situations like this.
Accomplishments that we're proud of
We actually somewhat got a working demo, albeit with many bugs. We weren't expecting us to be able to accomplish this much in such a short amount of time considering we are all competitive programming monkeys.
What we learned
To make a well-maintained web app, we decided to learn react.js. We learned how the MERN(MongoDB, Express, ReactJS, NodeJS) stack worked. We also learned that we are hot garbage at development. When testing to make sure our final product runs, we used many methods that QA uses to ensure that we are satisfied with the end product like quantatitively analyzing the amount of resources allocated to run the app smoothly.
What's next for Markview
We believe that we can easily expand these features to encapsulate a full overview of a student's marks. For example, rather than storing information for a specific course, we can keep track of multiple classes to compute the overall term average.