{"id":18239933,"url":"https://github.com/zeldean/prg282_project-studentmanagementsystem","last_synced_at":"2026-01-27T22:06:18.677Z","repository":{"id":260088589,"uuid":"880184357","full_name":"Zeldean/PRG282_Project-StudentManagementSystem","owner":"Zeldean","description":"A C# Windows Forms application for managing student records using text files and incorporating Git version control. Features include adding, viewing, updating, deleting student records, and generating summary reports, all while maintaining proper version control.","archived":false,"fork":false,"pushed_at":"2024-11-08T19:57:13.000Z","size":140,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-08T10:25:34.170Z","etag":null,"topics":["csharp","student-management","windows-form-application"],"latest_commit_sha":null,"homepage":"","language":"C#","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/Zeldean.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-10-29T09:20:33.000Z","updated_at":"2025-03-26T21:21:42.000Z","dependencies_parsed_at":"2024-12-22T06:12:08.063Z","dependency_job_id":"66d1441b-fb19-420e-95dd-35db4f67ccae","html_url":"https://github.com/Zeldean/PRG282_Project-StudentManagementSystem","commit_stats":{"total_commits":39,"total_committers":5,"mean_commits":7.8,"dds":0.6666666666666667,"last_synced_commit":"a31bab0c2fab9185d9197278e3ff5b6ddabbfaec"},"previous_names":["zeldean/prg281_project-studentmanagementsystem","zeldean/prg282_project-studentmanagementsystem"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zeldean%2FPRG282_Project-StudentManagementSystem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zeldean%2FPRG282_Project-StudentManagementSystem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zeldean%2FPRG282_Project-StudentManagementSystem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zeldean%2FPRG282_Project-StudentManagementSystem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Zeldean","download_url":"https://codeload.github.com/Zeldean/PRG282_Project-StudentManagementSystem/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248403458,"owners_count":21097509,"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":["csharp","student-management","windows-form-application"],"created_at":"2024-11-05T04:04:16.452Z","updated_at":"2026-01-27T22:06:18.584Z","avatar_url":"https://github.com/Zeldean.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎓 Student Management System\n\n## 👥 Members\n\n- 👤 Herman Bantjes 601427\n- 👤 Stiaan Megit 600819\n- 👤 Dean van Zyl 600367\n- 👤 Jan-Paul Seaman 578081\n\nThis project is a C# Windows Forms application that serves as a 🎓 Student Management System. The system provides functionality for managing student records and supporting collaboration through Git and GitHub for version control and source tracking. The application allows users to perform CRUD (✏️➕🔍✂️) operations and generate 📊 summary reports.\n\n## ✨ Features\n\n- **➕ Add New Student**: The application provides a form interface to input student details such as 🆔 Student ID, 📝 Name, 🧬 Surname, 🎂 Age, 📞 Phone Number, and 📚 Course. These details are saved to a text file named `students.txt`.\n\n- **👀 View All Students**: The records from `students.txt` are displayed in a 📊 DataGridView control, offering a quick view of all students.\n\n- **✏️ Update Student Information**: Users can select students by clicking on their entry in the DataGridView and edit their details, which are saved back to `students.txt`.\n\n- **❌ Delete a Student**: Users can delete a student by selecting them from the DataGridView, removing the corresponding entry from the text file.\n\n- **📊 Generate Summary Report**: The application calculates the total number of students and the average age, displaying these results on the form and saving them to `summary.txt`.\n\n- **📝 Log Changes**: Each action performed on student records (➕, ✏️, ❌) is logged with details and timestamps, ensuring traceability.\n\n- **⚠️ Error Handling and ✅ Validations**: Proper error messages are displayed in case of issues such as invalid input or file access problems. Validation is performed for required fields like 🆔 Student ID, 📝 Name, and 🎂 Age to ensure data integrity.\n\n- **🔄 Version Control Integration**: The development process is tracked using Git, with regular commits after each feature implementation. The project has also been pushed to a GitHub repository for remote backup and collaboration.\n\n## 🛠️ Technologies Used\n\n- **💻 Programming Language**: C#\n- **🔧 Framework**: .NET (Windows Forms)\n- **🗄️ Database**: SQLite for storing logs of actions performed on the student records.\n- **🔄 Version Control**: Git, GitHub\n\n## 🎯 Milestones\n\n- [x] 🏗️ Create the initial Windows Forms project structure.\n- [x] 📝 Implement form interface for adding new student records.\n- [x] 💾 Save student data to `students.txt` after adding new records.\n- [x] 👀 Develop functionality to view all student records in a DataGridView.\n- [x] ✏️ Enable updating and saving modifications to existing student records.\n- [x] ❌ Add the capability to delete student records from the system.\n- [x] 📊 Implement summary report generation with total students and average age.\n- [x] 📝 Introduce logging of all actions (➕, ✏️, ❌) to an SQLite database.\n- [x] ⚠️ Handle common errors (e.g., file access, validation errors) and display user-friendly messages.\n- [x] ✅ Integrate input validation to ensure data integrity before saving.\n- [x] 🔄 Refactor the code to improve readability and maintainability.\n- [x] 🧪 Conduct testing to verify all features work as expected.\n- [x] 🎨 Finalize UI design, including error messages and consistent styling.\n- [x] ⚡ Optimize file handling for better performance, especially with larger datasets.\n- [x] 📄 Prepare project documentation and README for GitHub.\n\n## 🚀 Getting Started\n\n1. **🔗 Clone the Repository**: Clone the GitHub repository to your local machine to get started.\n2. **⚙️ Install Dependencies**: Ensure you have Visual Studio and the .NET framework installed.\n3. **▶️ Run the Project**: Open the solution in Visual Studio and start debugging to launch the application.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeldean%2Fprg282_project-studentmanagementsystem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzeldean%2Fprg282_project-studentmanagementsystem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeldean%2Fprg282_project-studentmanagementsystem/lists"}