Verbosity is an open-source WinForms application built with .NET, designed to help teachers and students communicate effectively by managing feedback and tracking goals. Teachers can leave feedback for students, while students can register goals and subgoals to improve their learning experience.
Explanation Video / Pitch of System(CLICKME)
- Teachers can leave feedback for students.
- Students can register goals and subgoals.
- Intuitive and user-friendly interface.
- Secure data storage and handling.
- Easily customizable and extensible.
The project is built using the N-Tier architecture, which allows for a scalable, maintainable, and modular application. The architecture is divided into the following layers:
FBS.Entity
: Contains the entities: Feedback, Goal, Group, Student, Subgoal, and Teacher.FBS.Repository
: Includes all SQL statements that interact with the SQL Server.FBS.DataAccess
: Data access layer containing the connection string for the database.Frontend
: Contains the WinForms forms for the user interface.FBS.Testing
: Contains a console app to test the SQL connection.
This layer contains the classes representing the various entities in the system, such as Feedback, Goal, Group, Student, Subgoal, and Teacher. These classes define the data structure and relationships among them.
This layer is responsible for executing SQL queries to interact with the SQL Server. It contains methods to perform CRUD operations (Create, Read, Update, Delete) on the different entities in the system.
The data access layer is responsible for managing the connection with the SQL Server, using the connection string provided in the configuration file. It abstracts the details of connecting to the database from the other layers.
This layer contains the WinForms forms, which make up the user interface of the application. The forms provide a user-friendly interface for teachers and students to manage feedback, goals, and subgoals.
This layer contains a console app to test the SQL connection.
- Clone or download the project to your local machine.
- Open the solution file in Visual Studio.
- Restore the database using the provided bak file located in the project root directory. This can be done by opening SQL Server Management Studio, right-clicking on the Databases folder and selecting "Restore Database", then selecting the .bak file and following the prompts to restore the database.
- Update the ConnectionString inside FBS.DataAccess with the appropriate server name and database name. This can be done by opening the FBS.DataAccess project in Visual Studio, opening the
/FBS.DataAccess/FeedbackCollection/FeedbackCollectionDBDataAccess.cs
file, and updating theconnectionString
property with the appropriate server name and database name. - Install the SQL Server NuGet package by right-clicking on the solution in Visual Studio and selecting "Manage NuGet Packages...", then searching for and installing the
System.Data.SqlClient
package. - Build the solution in Visual Studio.
-
Restore the database using the provided bak file located in the project root directory. This can be done by opening SQL Server Management Studio, right-clicking on the Databases folder and selecting "Restore Database", then selecting the .bak file and following the prompts to restore the database.
-
Update the ConnectionString inside FBS.DataAccess with the appropriate server name and database name. This can be done by opening the FBS.DataAccess project in Visual Studio, opening the
/FBS.DataAccess/FeedbackCollection/FeedbackCollectionDBDataAccess.cs
file, and updating theconnectionString
property with the appropriate server name and database name. -
Install the SQL Server NuGet package by right-clicking on the solution in Visual Studio and selecting "Manage NuGet Packages...", then searching for and installing the
System.Data.SqlClient
package. -
Run the Windows Forms application called FeedbackSysteem by opening the Frontend project in Visual Studio, setting the startup project to FeedbackSysteem, and running the application. Once the application is running, you can log in as a teacher or a student and begin using the application to manage feedback and goals.
TODO: Provide a link to the detailed documentation.
In order to maintain a clean and well-organized codebase for the Verbosity project, we require all contributors to follow these commit guidelines. This will help ensure a smooth development process and easy collaboration among team members.
- Always create a new branch from the
staging
branch. - The branch name should be the name of the linear ticket you are working on, e.g.,
LIN-123
.
- Commit messages should be clear, concise, and written in the imperative form, e.g., "Add new feature", not "Adding new feature" or "Added new feature".
- Use the linear ticket name as a prefix in your commit messages, e.g.,
LIN-123: Add new feature
.
- When your work on the branch is complete and tested, create a pull request (PR) targeting the
staging
branch. - PRs should have a descriptive title and a detailed description of the changes made.
- For changes to be merged into
staging
, at least one team member must review and approve the PR. - For changes to be merged into
main
, at least two team members must review and approve the PR. - The
staging
andmain
branches are protected. Only approved PRs can be merged into these branches. - After the required number of approvals is reached, the PR author is responsible for merging the PR.
- Once the PR is merged, remember to delete the feature branch.
This project is licensed under the MIT License - see the LICENSE file for details.