{"id":25552517,"url":"https://github.com/nishant916/tracker","last_synced_at":"2026-02-11T16:32:06.374Z","repository":{"id":278049387,"uuid":"922188444","full_name":"nishant916/tracker","owner":"nishant916","description":"A web application for teachers to efficiently manage student attendance, track academic performance, and generate reports.","archived":false,"fork":false,"pushed_at":"2025-02-11T22:38:31.000Z","size":1969,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-03T10:02:06.733Z","etag":null,"topics":["bootstrap","chartjs","html2canvas","html5","java","javascript","jspdf","mysql","springboot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nishant916.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-25T14:59:18.000Z","updated_at":"2025-02-13T11:05:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"3d5d8357-90ce-483c-a4ce-238fe91df58e","html_url":"https://github.com/nishant916/tracker","commit_stats":null,"previous_names":["nishant916/tracker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nishant916/tracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nishant916%2Ftracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nishant916%2Ftracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nishant916%2Ftracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nishant916%2Ftracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nishant916","download_url":"https://codeload.github.com/nishant916/tracker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nishant916%2Ftracker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29338295,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T16:14:43.024Z","status":"ssl_error","status_checked_at":"2026-02-11T16:14:15.258Z","response_time":97,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootstrap","chartjs","html2canvas","html5","java","javascript","jspdf","mysql","springboot"],"created_at":"2025-02-20T11:25:17.764Z","updated_at":"2026-02-11T16:32:06.369Z","avatar_url":"https://github.com/nishant916.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Classroom Attendance and Performance Tracker\nA web application for teachers to efficiently manage student attendance, track academic performance, and generate reports.\n\u003cbr\u003e\u003cbr\u003e\n\n## Table of Contents\n1. [Features](#1-features)\n    - Attendance Management\n    - Performance Tracking\n    - Course Management\n    - Reporting\n2. [Screenshots](#2-screenshots)\n3. [Technologies Used](#3-technologies-used)\n    - Languages\n    - Frameworks\n    - Tools\n4. [Getting Started](#4-getting-started)\n5. [User Guide](#5-user-guide)\n6. [Contributing](#6-contributing)\n7. [License](#7-license)\n8. [Contributors](#8-contributors)\n\u003cbr\u003e\u003cbr\u003e\n\n## 1. Features\n### 📚 Attendance Management\n**Take Attendance**: Mark students as present, absent, or late for a particular class. If attendance data is populated in database, then drop-down label shows that value.  \n\n**View Attendance**: Active \u0026 completed courses in sections in drop-down. Viewing attendance is for an entire course. Cells in display table have present, absent or late colour-coded values.  \n\n### 📝 Performance Tracking\n**Edit Grades**: Input grades for a particular exam. If grades data is populated in database, input field label shows that value. Oninput validation is used.  \n\n**View Grades**: Viewing grades is for an entire course. Displays all the exams in a chosen course and calculated final grade in percentage.\n\n### 🗂️ Course Management\nSettings can be modified for active or all courses. A course can be toggled active or completed. Attendance can be enabled or disabled. Total number of classes and minimum attendance percentage is available.\nTotal number of exams, the name of each exam, maximum grades and weightage can be modified. Oninput validation is used.\n\n### 📊 Reporting\n**All Charts can be exported to PDF**  \nDashboard: Interactive Tooltip with Highlighting when hovering over a column (bar graph) or a section (pie chart).  \n\n**Courses Overview**: Displays total number of active \u0026 completed courses. Bar graph for number of students in each course.   \n\n**Attendance Summary (Active Courses)**: Shows the name of course, total number of students in each course, percentage of classes completed in each of active courses. Pie chart for percentage of students who were present, absent or late. Gives a list of students whose attendance is below minimum requirement.  \n\n**Performance Summary**: (Active Courses) Bar graphs display all exams in each active course. Highest, lowest, average \u0026 median grades are shown.   \n(Completed Courses) Bar graph shows number of students corresponding to score ranges in both percentage \u0026 German grading format.  \n\u003cbr\u003e\n**All Views can exported to CSV**  \nView Attendance \u0026 View Grades: Display table is converted to CSV file. CSV file is named according to selected course name.\n\u003cbr\u003e\u003cbr\u003e\n## 2. Screenshots\n![Login Page](screenshots/login_page.png)\n\n![Dashboard](screenshots/dashboard.png)\n\n![Take Attendance](screenshots/take_attendance.png)\n\n![View Attendance](screenshots/view_attendance.png)\n\n![Edit Grades](screenshots/edit_grades.png)\n\n![View Grades](screenshots/view_grades.png)\n\n![Course Settings](screenshots/course_settings.png)\n\n![Logout Page](screenshots/logout_page.png)\n\n![Database Tables](screenshots/database_tables.png)\n\n\u003cbr\u003e\u003c/br\u003e\n\n## 3. Technologies Used  \n### 🖥️ Languages\n- **HTML5 \u0026 CSS** 🌐 – For structuring and styling web pages.\n- **JavaScript** ⚡ – For interactive client-side scripting.\n- **Java 23** ☕ – Primary programming language.\n- **CSV Files** 📄 – Used for initial data import.\n- **MySQL Database** 🐬 – Relational database for storing data.\n### 📦 Frameworks\n- **Bootstrap** 🎨 – UI framework for responsive design.\n- **Chart.js** 📊 – Library for data visualization.\n- **jsPDF \u0026 HTML2Canvas** 📜 – For exporting PDFs from web content.\n- **Spring Boot** 🌱 – Core framework for Java application.\n- **Spring Data JPA** 🔗 – ORM framework for database interactions.\n- **Hibernate** 🏛️ – JPA implementation for object-relational mapping.\n- **Spring Web** 🌍 – For building RESTful APIs.\n- **Spring Service Layer** 🏗️ – Handles business logic in the application.\n### 🛠️ Tools\n- **IntelliJ IDEA** 🏗️ – Main IDE for Java \u0026 Spring Boot development.\n- **MySQL** 🐬 – Database management system.\n- **Sublime Text** ✍️ – Lightweight text editor for HTML \u0026 CSS.\n- **Visual Studio Code** 🖊️ – A versatile code editor for front-end development.\n- **GitHub** 🔗 – Version control and project collaboration platform.\n- **Notepad++** 📝 - Text editor for fast and easy modifications.\n\u003cbr\u003e\u003c/br\u003e\n\n## 4. Getting Started\n### 📌 Prerequisites\nEnsure the following is installed\n- Java 23\n- IntelliJ IDEA\n- MySQL\n- Git\n### 📥 Installation  \n1️⃣ **Clone the Repository**  \n- Open IntelliJ IDEA.\n- Click on \"Get from Version Control\" on the welcome screen (or go to VCS \u003e Get from Version Control in the top menu).\n- Paste the repository URL:\n```bash\nhttps://github.com/nishant916/tracker.git\n```\n- Choose your local directory to clone the project into and click Clone.\n\n- **Alternatively** open a terminal and run the following commands:\n  \n```bash\ngit clone https://github.com/nishant916/tracker.git\ncd tracker\n```\n2️⃣ **Configure the Database**\n- Open MySQL and create a new database:\n```bash\nCREATE DATABASE teacher_management;\n```\n- Update your application.properties file\n```bash\nspring.datasource.url=jdbc:mysql://localhost:3306/teacher_management\nspring.datasource.username=root\nspring.datasource.password=\u003cyourpassword\u003e\n```\n3️⃣ **Install Dependencies**\n- Using Maven, open a terminal and run the following command from the root directory of the project:\n```bash\nmvn clean install\n```\n- This will download and install all the dependencies listed in the pom.xml file.\n\n### 🚀 Running the Application\n- Open the project in IntelliJ IDEA\n- Navigate to TrackerApplication.java\n- Click Run ▶️\n- **Alternatively** open a terminal and run this command inside the project folder:\n```bash\nmvn spring-boot:run\n```\n- The application should now be running at `http://localhost:8080` 🎉\n\u003cbr\u003e\u003c/br\u003e\n## 5. User Guide\n### 🗝️ Login\n- Teachers must log in using their username and password.\n- These credentials are provided by the admin.\n- Click \"Sign in\" to access the teacher dashboard.\n\n### 🏠 Teacher Dashboard\n- Navbar for ease of navigation has appeared.\n- Teachers can click on the \"Export to PDF\" button on the top right of every chart.\n- The chart will be downloaded as a PDF.\n\n### ✅ Take Attendance\n- Select an active course \u0026 then select a class number from drop-downs.\n- A table will appear with student details and the class column with a drop-down for present/absent/late marking.\n- Click on \"Save Changes\".\n\n### 📅 View Attendance\n- Select an active or completed course from the drop-down.\n- A table will appear with student details and colour-coded present/absent/late values for all classes in the course.\n- Click on \"Export to CSV\" to get details into Excel.\n\n### ✏️ Edit Grades\n- Select an active course \u0026 then select an exam number from drop-downs.\n- A table will appear with student details and the exam column with an input field.\n- Enter the grades \u0026 click on \"Save Changes\".\n  \n### 📈 View Grades\n- Select an active or completed course from the drop-down.\n- A table will appear with student details, all exam grades in the course \u0026 calculated final grade.\n- Click on \"Export to CSV\" to get details into Excel.\n\n### ⚙️ Course Settings\n- **Course Settings**: Choose active or all courses from drop-down. A course can be toggled active or completed.\n- **Attendance Settings**: Attendance can be toggled enabled or disabled, total number of classes for a course chosen from drop-down (max = 10) \u0026 minimum percentage required chosen (from 50% to 100% or \"no min attendance\").\n- **Grade Settings**: Total number of exams chosen from drop-down (max = 10), input exam names, input maximum marks \u0026 choose weightage (from 0% to 100%).\n- Click on \"Save Changes\".\n\n### 🚪 Logout\n- Hover over teacher's username on top-right corner of navbar.\n- Click on \"Logout\".\n- Teacher will be redirected to Login Page in 5 seconds.\n\u003cbr\u003e\u003c/br\u003e\n## 6. Contributing\nWe welcome contributions! To get started:\n### 🍴 Fork \u0026 Clone\nClick on the Fork button at the top-right of the repository page. Open IntelliJ IDEA. Click \"Get from Version Control\", enter:\n```bash\nhttps://github.com/\u003cgithub-username\u003e/tracker.git\n```\n### 🌿 Create a Branch\nGo to Git \u003e Branches \u003e New Branch, name it appropriately.\n### ✏️ Make Changes \u0026 Commit\nModify the code and commit via IntelliJ’s Git tool window.\n### 🚀 Push \u0026 Open a PR\nPush changes (VCS \u003e Git \u003e Push) and submit a Pull Request on GitHub.\n### 💡 Found a bug?\nOpen an issue in the Issues tab.\n\u003cbr\u003e\u003c/br\u003e\n## 7. License\nThis project was developed as part of a university programming course and is intended for educational purposes only.\n- Usage: You may review and learn from the code.\n- Restrictions: Redistribution, commercial use, or modification for external projects may require permission.\n- Ownership: The work belongs to the project contributors and the university course.\n\u003cbr\u003e\u003c/br\u003e\n## 8. Contributors\nThis project was developed as part of the **Programming II course in the BSc Computer Science degree at SRH Berlin University**.\n### 🤝 Project Team:\n- Nishant Malik\n- Amrutha Manjunath\n- Pruekson Lukkanothai\n  \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnishant916%2Ftracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnishant916%2Ftracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnishant916%2Ftracker/lists"}