{"id":22131215,"url":"https://github.com/loaisaadi/high-school-test-system","last_synced_at":"2026-05-16T18:02:48.448Z","repository":{"id":256269473,"uuid":"854819268","full_name":"LoaiSaadi/High-School-Test-System","owner":"LoaiSaadi","description":"Examination Management System for High School","archived":false,"fork":false,"pushed_at":"2024-09-20T14:25:14.000Z","size":40759,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T09:21:16.676Z","etag":null,"topics":["client","java","mysql","ocsf","orm","server","software-engineering"],"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/LoaiSaadi.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}},"created_at":"2024-09-09T20:37:38.000Z","updated_at":"2024-09-21T00:15:50.000Z","dependencies_parsed_at":"2024-12-01T18:42:52.373Z","dependency_job_id":null,"html_url":"https://github.com/LoaiSaadi/High-School-Test-System","commit_stats":null,"previous_names":["loaisaadi/high-school-test-system"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LoaiSaadi/High-School-Test-System","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LoaiSaadi%2FHigh-School-Test-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LoaiSaadi%2FHigh-School-Test-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LoaiSaadi%2FHigh-School-Test-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LoaiSaadi%2FHigh-School-Test-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LoaiSaadi","download_url":"https://codeload.github.com/LoaiSaadi/High-School-Test-System/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LoaiSaadi%2FHigh-School-Test-System/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274648298,"owners_count":25324296,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-11T02:00:13.660Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["client","java","mysql","ocsf","orm","server","software-engineering"],"created_at":"2024-12-01T18:31:27.886Z","updated_at":"2026-05-16T18:02:48.387Z","avatar_url":"https://github.com/LoaiSaadi.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# School Exam Management System - HSTS\n\n## Overview\nThe school management seeks to build a computerized information system to centralize all the activity related to school exams and improve the efficiency and reliability of exam management. The goals of the system are:\n\n1. **Exam Creation at Two Levels**:\n   - Managing a pool of questions for various subjects and courses.\n   - Creating exams from the question pool.\n\n2. **Exam Execution**: Allowing students to take exams.\n   \n3. **Exam Grading**: Automating the grading process and recording scores.\n\n4. **Data Processing**: Managing, analyzing, and presenting statistics on exams, scores, and students.\n\n## General System Guidelines\nThe computerized system handles exams in two stages:\n1. **Prepared Exams (\"Stored\")**: Exams that are created and saved for future use.\n2. **Active Exams (\"Published\")**: Exams that are distributed to students. An exam can be used multiple times.\n\n## Exam Creation\nThe content of the exams is created at two levels: **Questions** and **Exams**. Each teacher can create questions and exams for the subjects they teach.\n\n### 1. Question Creation\nTeachers can build a pool of questions for use in exams. A question consists of the following:\n- **Text**: The question and instructions for answering.\n- **Four Answers**: One of which is marked as the correct answer.\n- Each question is associated with one or more courses within a subject and is uniquely identified by a 5-digit number.\n  \n### 2. Exam Creation\nTeachers create exams using questions from the pool. Each exam is identified by a 6-digit number. Exams include:\n- **Time limit** (in minutes).\n- **Point allocation** for each question.\n- **Instructions** or **general remarks** in two categories:\n  - For students (visible during the exam).\n  - For teachers (not visible to students).\n\n## Exam Execution\nExams can be conducted in two ways:\n1. **Manual Exam**: Students download a Word file, solve the exam, and upload their answers back into the system.\n2. **Automated Exam**: Students take the exam directly through the system, submitting their answers online.\n\nFor both methods, the system:\n- Tracks time.\n- Automatically closes the exam when the allocated time expires.\n- Records the start and end times, number of students who began and completed the exam, and the number of students who didn't finish.\n\n### Time Extension\nDuring an exam, a teacher can extend the time with the approval of the school principal. This change applies only to the current exam session and is recorded in the system.\n\n## Exam Grading\nAutomatic grading is only available for computerized exams. The system checks answers based on the predefined data and assigns a grade. Teachers can:\n- Approve the automatically assigned grade.\n- Manually adjust the grade (requiring an explanation).\n- Add comments to student submissions.\n\nAfter grading, the system computes and stores statistics for each exam (average, median, and score distribution across deciles). These statistics are not available to students.\n\n## Data Processing\n\n### 1. Students\nStudents can view their exam scores and receive a copy of their graded exams for all computerized exams. Access is restricted to their personal results.\n\n### 2. Teachers\nTeachers can access reports and statistical analysis for all the exams they have created, even if conducted by other teachers.\n\n### 3. School Principal\nThe principal can view:\n- All data in the system (questions, exams, results).\n- Statistical reports generated by the system, such as average, median, and decile distribution. The principal can also request custom reports based on how scores change:\n  - Across exams by the same teacher.\n  - Across exams within the same course.\n  - Across exams by the same student.\n\nThe system should be flexible enough to support minimal development work for generating additional reports in the future.\n\n## User Information\nEach system user must authenticate with a username and password. All user-related data, including roles and permissions, is managed in a separate user management system. Multiple users can be connected to the system at the same time, but each user can only be logged in once.\n\n## Additional Requirements\n- The system must be efficient and user-friendly.\n- It should be designed for easy future updates, such as adding users or features.\n- In the first phase, the system will operate only over the local network (no internet access), but it should be developed in a way that allows easy integration with a web interface in the future.\n\n## Project Definition\nThe system should meet the requirements outlined above and be developed in phases as directed throughout the semester. The system will have a distributed operational nature, allowing multiple users to interact with it simultaneously. It will follow a client-server architecture, using a relational database. Communication between the client and server will be based on IP/TCP protocols.\n\nAt this stage, a web interface is not required, but the system should be designed for easy web interface implementation in the future.\n\n## Teamwork\nThe project tasks must be completed collaboratively, with all group members participating in every part of the project. Each member must be involved in the development of all components.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floaisaadi%2Fhigh-school-test-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Floaisaadi%2Fhigh-school-test-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floaisaadi%2Fhigh-school-test-system/lists"}