{"id":26264409,"url":"https://github.com/yousryessam/examinationsystem","last_synced_at":"2025-03-14T02:15:16.367Z","repository":{"id":281190204,"uuid":"944234273","full_name":"YousryEssam/ExaminationSystem","owner":"YousryEssam","description":"Database for Examination System","archived":false,"fork":false,"pushed_at":"2025-03-07T13:01:19.000Z","size":2228,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-07T14:19:52.803Z","etag":null,"topics":["database","sql","sqlserver-2022"],"latest_commit_sha":null,"homepage":"","language":"TSQL","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/YousryEssam.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":"2025-03-07T02:15:41.000Z","updated_at":"2025-03-07T13:01:22.000Z","dependencies_parsed_at":"2025-03-07T14:19:54.113Z","dependency_job_id":"84400e6b-bb2a-4351-a7ac-48ec0819b937","html_url":"https://github.com/YousryEssam/ExaminationSystem","commit_stats":null,"previous_names":["yousryessam/examinationsystem"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YousryEssam%2FExaminationSystem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YousryEssam%2FExaminationSystem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YousryEssam%2FExaminationSystem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YousryEssam%2FExaminationSystem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YousryEssam","download_url":"https://codeload.github.com/YousryEssam/ExaminationSystem/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243510120,"owners_count":20302295,"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","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":["database","sql","sqlserver-2022"],"created_at":"2025-03-14T02:15:15.796Z","updated_at":"2025-03-14T02:15:16.355Z","avatar_url":"https://github.com/YousryEssam.png","language":"TSQL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Online Examination System\n\n## 📌 Project Overview\nThe **Online Examination System** is an automated system designed to facilitate online exams, manage student records, and generate reports. The project is built using **SQL Server** and provides essential functionalities such as exam creation, student answers storage, and automated exam correction.\n\n## 🏗️ Database Design\n- The system consists of **13 tables** for efficient data management.\n- **Entity-Relationship Diagram (ERD)**:  \n  ![ERD](https://github.com/YousryEssam/ExaminationSystem/blob/main/Diagrams/Flowchart%20-%20ERD.jpg)\n- **System Flowchart Mapping**:  \n  ![Mapping](https://github.com/YousryEssam/ExaminationSystem/blob/main/Diagrams/Flowchart%20-%20Mapping.jpg)\n\n## 🛠️ Features\n- **Stored Procedures**:\n  - CRUD operations: Select, Insert, Update, and Delete.\n  - **Exam Management**: Generate exams dynamically.\n  - **Exam Answers Handling**: Store and retrieve student responses.\n  - **Exam Correction**: Automated evaluation of student answers.\n\n## 📊 Reports \u0026 Procedures\nThe system includes several **stored procedures** and **views** to assist ITI staff in monitoring student performance and managing exams.\n\n### 🔹 Stored Procedures:\n#### 📌 Selection \u0026 Reports:\n- `Show_Track_Students`: Retrieves students in a specific track.\n- `Show_Track_Students_At_Branch`: Retrieves students in a track at a specific branch.\n- `Show_Student_Grades`: Retrieves student grades across all courses.\n- `Course_Topics`: Lists topics covered in a specific course.\n- `Number_Of_Questions_In_Exam`: Returns the number of questions in an exam.\n- `Student_Exam_Answers`: Shows a student's answers in a specific exam.\n- `CheckStudentAnswer`: Verifies the correctness of a student's answer.\n\n#### 📝 Exam Management:\n- `CreateExam`:  \n  - Generates a new exam for a student based on the selected course.\n  - Selects random questions and assigns them to the exam.\n  - Links the exam with the student in the `Student_Exam_Question` table.\n\n- `CheckStudentAnswer`:  \n  - This stored procedure, CheckStudentAnswer, is used to evaluate and record a student's answer to an exam question.\n  - Automatically updates student scores upon correct answers.\n\n\n\n#### 🔹 Insert Procedures:\n- `InsertBranch`: Adds a new branch to the system.\n- `InsertInstructor`: Adds a new instructor and ensures unique phone numbers.\n- `InsertTrack`: Adds a new track with a manager.\n- `InsertCourse`: Adds a new course with a description and minimum degree.\n- `InsertStudent`: Adds a new student with unique email verification.\n- `InsertExam`: Adds a new exam to the system.\n- `InsertQuestion`: Inserts a new question for a course.\n- `InsertOption`: Adds an answer option for a question.\n- `InsertBranchTrack`: Links a branch with a track.\n- `InsertTrackCourse`: Assigns a course to a track.\n- `InsertStudentCourse`: Enrolls a student in a course.\n- `InsertStudentExamQuestion`: Records a student's exam question and answer.\n- `InsertExamQuestion`: Links a question with an exam.\n\n#### 🗑️ Delete Procedures:\n- `DeleteBranch`: Deletes a branch by its ID.\n- `DeleteInstructor`: Deletes an instructor by their ID.\n- `DeleteTrack`: Deletes a track by its ID.\n- `DeleteCourse`: Deletes a course by its ID.\n- `DeleteStudent`: Deletes a student by their ID.\n- `DeleteExam`: Deletes an exam by its ID.\n- `DeleteQuestion`: Deletes a question by its ID.\n- `DeleteOption`: Deletes an option from `Option_Table` by its ID.\n- `DeleteBranchTrack`: Deletes a track from a branch.\n- `DeleteTrackCourse`: Deletes a course from a track.\n- `DeleteStudentCourse`: Removes a student from a course.\n- `DeleteStudentExamQuestion`: Deletes a student’s exam question record.\n- `DeleteExamQuestion`: Deletes a question from an exam.\n\n### 🔹 Helper Functions:\n- `GetQuestionOptions(@Question_Id INT)`:  \n  - Returns a list of available answer options for a specific question.\n\n### 🔹 Views:\n- `Passed_Students`: Displays students who have passed their exams.\n- `Failed_Students`: Displays students who have failed.\n- `Tracks_Managers`: Lists managers responsible for different tracks.\n- `Student_Total_Courses`: Shows the total courses a student is enrolled in.\n\n## 👥 Contributors\n- **Yousry Essam** - [GitHub Profile](https://github.com/YousryEssam)\n- **Santy Osam** - [GitHub Profile](https://github.com/SantyOsama)\n\n## 📂 Repository\n[🔗 GitHub Repository](https://github.com/YousryEssam/ExaminationSystem)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyousryessam%2Fexaminationsystem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyousryessam%2Fexaminationsystem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyousryessam%2Fexaminationsystem/lists"}