The front-end for the project is displayed on a mobile application built using flutter and dart, state management for the same has been done using riverpod.
The connections to the database have been set up using a flutter package called mysql1, this is a library that allows connecting to our mysql database and querying it. To know more about this package, please check the link: https://pub.dev/packages/mysql1
All database connections have been set up in a separate folder named "database" in the "lib" folder of the application. The sql queries have been written in separate folders for authentication and data manipulation, called sql_auth.dart and sql_data.dart respectively.
The app allows both the students and college admins to login and access user-specific pages. The flow of the app is as shown:



A student can access the app by logging in with their credentials or creating a new account if they haven’t previously registered. This adds a new entry into the user and student table in the database.


Upon successful login or registration,the student dashboard is visible, wherein they can either set their college allotment preference or view their profile and see their current preference list or update their details.



A college administrator can access the app by logging in with their credentials or creating a new account if they haven’t previously registered. This adds a new entry into the user and collegeadmin table in the database.



Upon successful login or registration, the admin dashboard is visible, wherein they can either add a course to the list of courses the college offers or allocate students that have applied to their college (based on cut-off scores and preferences). In the next screen, the admin can view the list of students allocated to their college and the total allocations done in all colleges so far.
In order to run the application, you must first ensure that your MySQL connection settings have been reset according to the port connected to the app. In order to do this, please right click on the connection on your workbench and click on ‘Edit Connection..’

This will open a dialog box with your current connection configuration. Please ensure all entries are filled out as shown in the image below (and also given as text).
Connection Name: localhost Connection Method: Standard (TCP/IP) Hostname: localhost Port: 3306 Username: root

After having changed your username to ‘root’ in the previous step, please use the following commands to change your password to ‘password’. USE mysql; SET PASSWORD FOR 'root'@'localhost' = ‘password’; FLUSH privileges; If the commands given above are not compatible with your MySQL version then please check the following links to find commands specific toyour version.
https://dev.mysql.com/doc/refman/8.0/en/alter-user.html
https://www.javatpoint.com/change-mysql-user-password
Note: Please ensure your MySQL server is running when using the app and that you have run the script named ‘masterScript.sql’ beforehand to create the database and fill relevant entries.