Inspiration

During our time at the University of Waterloo, our main source of learning was through the books/lecture notes for our courses. We encountered slight errors or typos on the course material a number of times but were unable to have those issues resolved in time. Some changes were made in future editions of the notes but those weren't applicable to our batch. An error in the reading material, however slight it might be, can cause huge problems - confusion, frustration and incomplete understanding. However, this was never the intent of the writer and most of them are very receptive to requests to correct these typos, but currently, there are no convenient means for people to report them. This was the inspiration for the Errata Manager.

What it does

Authors and writers can sign up on our website and register their books. At the same time, students and educators can also sign up and post errors related to those books as and when they come across them. Authors have the authority to view all the errors related to their books and give a decision regarding whether the error was a valid or invalid one. In the former case, the author can proceed to correct that error in future editions of their book.

How we built it

We used the ASP.NET framework for the backend, where we created 2 models for Books and Errors. We, then, created controllers to handle CRUD (create, read, update, delete) operations for books and errors. We used NextJS to build the front-end and apply dynamic routing, along with the UI design from ChakraUI. We then worked on connecting the front end to the backend by ensuring proper connection and request transferring to the C# backend, while managing CORS policy

Challenges we ran into

We had no experience in C# and the ASP.NET framework as well as Chakra UI for the frontend. It was hard to work on these unfamiliar frameworks and we used Sqlite local database which provided some challenges due to lack of documentation on the dotnet 6.0 framework. In front-end dynamic routings caused a major issue and it was really hard to understand how to ensure that we created new routes for new books or errors.

Accomplishments that we're proud of

We were able to build a presentable and working frontend with a fully functional backend on these unfamiliar frameworks, and we are very proud of what we have done.

What we learned

We had no experience in C# and the ASP.NET framework as well as Chakra UI for the frontend. It was hard to work on these unfamiliar frameworks and we used Sqlite local database which provided some challenges due to lack of documentation on the dotnet 6.0 framework.

What's next for Errata Manager

We will work on adding authentication so that we can distinguish between authors and normal users. Also we would look into deploying this online on Azure or Google Cloud. Apart from that we are working on creating a leaderboard system where users get points for adding errata or for creating their own books.

Built With

Share this project:

Updates