This repository contains a desktop application developed to streamline the process of managing final year projects at the Department of Computer Science. The application is designed to be operated by members of the project committee, facilitating centralized data management and automating various tasks involved in the management of final year projects.
The Department of Computer Science, holds a committee responsible for managing final year projects. Each year, a list of project titles is compiled by the committee based on ideas from faculty members. Students have the privilege to form groups and select projects from the approved list, after obtaining approval from their faculty advisor. Once a project is selected, an advisory board consisting of a main advisor, co-advisor, and industry advisor is assigned to the project. Throughout the year, multiple evaluations are conducted, which are currently managed through spreadsheets.
The objective of this project is to develop a desktop application using Windows Presentation Foundation and C#, which will serve as a centralized platform for managing all aspects of final year projects. The application aims to streamline the project management process and provide the following features:
- Manage Students: Add, update, and remove student profiles.
- Manage Advisors: Add, update, and remove advisor profiles.
- Manage Projects: Create, edit, and delete project details.
- Formation of Student Groups: Facilitate the formation of student groups and manage group memberships.
- Assignment of Projects: Assign projects to student groups after approval.
- Assignment of Advisors: Assign multiple advisors to each project.
- Manage Evaluations: Conduct and record evaluations against projects and student groups.
- Generate Reports: Generate various reports in PDF format, including lists of projects with advisory board and student details, marks sheets showing evaluations against each student and project, and any other reports required by the committee.
- User-friendly Interface: Intuitive interface for easy navigation and use.
- Data Validation: Ensure data integrity through validation checks.
- Security: Implement authentication and authorization mechanisms to restrict access to authorized users only.
- Data Backup and Restore: Provide functionality for data backup and restoration to prevent data loss.
- Scalability: Design the application to accommodate future enhancements and scalability.
To use the application, simply download the repository and compile the source code using Visual Studio or any compatible IDE. Run the executable file to launch the application.
Contributions to this project are welcome. If you have any suggestions, feature requests, or would like to report issues, please feel free to open an issue or submit a pull request.