A Django web app with a login system, authorization, and permission access
The quotes app was designed with readers in mind. It allows the user to write down the quote, along with relevant information such as the author (of course), the book or original source, the page number, and the year of publication. The app also allows the user to create collections of quotes, similar to how playlists of individual songs can be created on a music streaming service.
The project was built using Django. Before starting the project, I knew very little about the differences of the various possible frameworks. However, from reading various articles and forums, I knew that Django was a "batteries-included" framework and had a template system for creating basic front-end UI that was paired with Bootstrap. I wanted to mainly explore various concepts of web-development that I have yet to learn in school such as creating software that utilizes CRUD operations with a database, how login-systems are implemented in an application, and how we personalize the application for each user. Thus, Django was a perfect match that allowed me to jump straight away into exploring these topics.
Each user can add quotes and fill in as many details as they would like. Depending on the information, it will be displayed alongside the quote in the quote list page.
User can also create collections of quotes. When a user signs up, the collection "All Quotes" is automatically created and cannot be modified. However, you can create as many quotes as you like and modify it as you like!
I've coded the website to only show quotes that are created by the logged in user. This way, you are only able to access the quotations that you've made and you are not exposed to the quotations and collections that other users have made.