Video Demo: https://youtu.be/czipEQcWecw
1.Implemented CRUD operations for branches, students, faculties, courses, marks, attendances tables.
2.Implemented decorators for restricting access to students/faculties for protected access.
3.Implemented notifications feature to notify students, faculties.
It consists of all the libraries I used and can be installed easily in virtual environment using pip install -r requirements.txt.
It is where the connection of database(localhost in my case) is declared.
It is where the creation of app takes place.
Going to the app folder. The static and templates folder are standardized to write CSS and HTML files. Since I used Bootstrap for CSS except for the sidebar which I added in the style tag in base.html itself
Templates are:
1.Layout: base.html, base2.html
2.Remaining all templates are for various routes which I created for the project.
It consists of all CRUD(C-Create, R-Read, U-Update, D-Delete) operations. I additionally added search function to search by username, course_code etc.
It consists of the schema of my database. It consists of all the table declarations. Whenever I had to make any changes to the database I simply edit it in models.py and using Flask Migrate I upgrade the exisiting database with required changes.
It consists of all the existing routes of the application where we can possibly navigate in the application.
It consists of functions through which we can restrict access to particular routes and make it protected. In my case I created admin_login_requried decorator wich takes the user to admin login page if the user is not admin and shows a warning flash message.
For me the most challenging part was designing schema for the database. It was quite a struggle for pre-decising the functions to be implemented and to create a schema in such a way that we can thoroughly implement them.
Creation of so many routes, functions in crud.py and mainly the templates was simple but very much time taking. Testing every function is working as intended took alot of time.
Coming to the UI part I couldnot design a custom theme, template and utilized Bootstrap for all the templates since I am not familiar with CSS in depth to implement it properly.