Student Performance Tracking Application is a web application that allows teachers and students to track their performance
The Application allow the users to login to the application and the users are the teachers and the students. Teachers can see the marks and information about students and Post marks for their class Students. Students are not allowed to post Marks. The passwords are encrypted using brcypt and the application is using the JWT for the authentication of the users. The application has the data visualization of the student performance using the chart.js library particularly the Radar and the doughnut chart.
All the examples are in the /screenshots directory in the root directory of the project
- Login
- Register
- Student Dashboard
- Teacher Dashboard
- Student Performance Analysis
- Role Based Authentication (using JWT)
- NextJS 13 App (react 18.2.0)
- TailwindCSS 3.2.7
- MySQL 8.0.26
- Chart.js 4.2.1
- typescript 4.9.5
- react-chartjs-2 3.1.0
To Run the application locally, you need to have the following installed on your machine:
- NodeJS
- npm or yarn
- MySQL
you can download the latest version of NodeJS from here
you can download the latest version of MySQL from here
- Clone the repository
git clone https://github.com/lakshmanshankarc/student-performance-tracking.git- Install the dependencies
cd student-performance-tracking
npm install- Create a database in MySQL
All the SQL queries are in the /sql/college.sql file in the root directory of the project To successfully run the application, you need to create a database in MySQL and run the queries in the /sql/college.sql file in the root directory of the project
mysql -u root -p#$ mysql> in the sql shell you need to source the sql file
source /path/to/sql/college.sql
#example
#source /home/user/project/student-performance-tracking/sql/college.sql- Create a
.envfile in the root directory of the project and add the following
touch .envYou can refer to the .env.example file in the root directory of the project
For JWT_SECRET, you can run the below code in node repl
nodecrypto.randomBytes(64).toString('hex')Dont Add the "Quotes" in the .env JWT_SECRET
- Run the application
npm run devThis will start the application in development mode and you can access the application in the browser at http://localhost:3000
🙂 Happy Coding