mysql-connector-python
package, empowering the Frontend to access and manipulate data stored in database.
However Avishkaar is more than just a archive for student data. It embodies an ambitious vision for elevating data management and manipulation to new heights. At its current stage, the application caters to the administrative domain by providing essential functionalities for administering student data in a methodical manner.
+-------------------+
| Tkinter |
| (Client Side) |
+--------+----------+
|
| User Input
v
+------------+------------------+
| mysql-connector-python |
| (Data Processing) |
+------------+------------------+
|
| SQL Queries
v
+--------+----------+
| MySQL DB |
| (Server Side) |
+-------------------+
It is recommended to set up a virtual environment to avoid conflicts between package versions installed on your system and keep your workspace organized. To create a virtual environment and activate it, please follow the instructions detailed on python venv page. The procedure to deactivate the environment is also provided here.
Please note that currently, the application may not be fully responsive on smaller screens, potentially leading to UI breakdowns. I am actively working on UI enhancements to ensure resposive behavior of the Portal.
- Clone the git repo using
git clone https://github.com/asood-life/avishkaar.git
- Install the required packages using
pip install -r requirements.txt
- Create a MySQL database following the schema described above. Ensure to specify the database name and required access password in the
credentials.json
file.
python main.py
to run the application.
VIEW STUDENTS: Enables user to access and view records of all students stored in the database in a tabular format.
ADD STUDENTS: Empowers the user to add student records to the database populating the following fields:
- Roll Number
- Name of Student
- Section
- Class
- Gender
- Contact Number
- Date of Birth
- Address
UPDATE STUDENTS: If you have entered incorrect details or missed some entries, don't fret! The portal allows you to update student records at your convenience. One of its most fascinating features for smooth operation is the Search functionality. User can easily search for a particular student using the following fields:
- Roll Number
- Name
- Contact Number
- Class
- Section
Update
button to apply the modifications and get them relfected in the database.DELETE STUDENTS: If one of your students has recently left or transferred to another institution, it is crucial to promptly remove their relevant records from the database to prevent any confusion. The Search functionality mentioned above is also available for this purpose. Simply search for the concerned student, click on their entry in the table where the results are displayed, and then use the Delete
button to remove them from the database.
CHANGE PASSWORD: If you have accidentally revealed your password to someone (well I have done at start :D) don't panic. You can change your password anytime you desire. However, before making the change, user must confirm their old password to ensure authentic access.
The login password is retrieved from the credentials.json
file. If the validation is successful during the password change process, the new password is written to the JSON, overwriting the previous value.
EXIT: Enables the user to exit the portal and close the portal window. Please note that this button can only be used to close the main portal window and not any other active windows.
- Enhancing Responsiveness and Modularizing Codebase: Ensure the application adjusts to various screen sizes while modularizing the codebase for better organization and easier maintainence in the future.
- Announcements: Introduce a feature for publishing announcements in the application.
- Personalized Dashboards: Incorporate a personalized dashboard for students, showcasing their attendance and grades, courses taken, and other pertinent personal information already recorded in the database.
- Bulk Operations: Allow the use of an excel sheet to add or update student details in the database ensuring minimal manual intervention and streamlining of the overall procedure.