{"id":28470730,"url":"https://github.com/ehiane/fundraiserapplication_winforms","last_synced_at":"2026-04-26T08:39:08.315Z","repository":{"id":297511966,"uuid":"997036027","full_name":"Ehiane/FundraiserApplication_WinForms","owner":"Ehiane","description":"A C# WinForms mock application for managing the WSU fundraising ecosystem for students, donors, and administrators, featuring OOP design and XML data storage.","archived":false,"fork":false,"pushed_at":"2025-06-05T21:33:56.000Z","size":92,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-05T22:25:47.633Z","etag":null,"topics":["csharp","design-patterns","fundraising","oop","oop-in-csharp","winforms"],"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/Ehiane.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,"zenodo":null}},"created_at":"2025-06-05T21:12:13.000Z","updated_at":"2025-06-05T21:33:58.000Z","dependencies_parsed_at":"2025-06-05T22:26:05.632Z","dependency_job_id":"c7001e3d-7d59-440a-a489-d5b23de8a1a8","html_url":"https://github.com/Ehiane/FundraiserApplication_WinForms","commit_stats":null,"previous_names":["ehiane/fundraiserapplication_winforms"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Ehiane/FundraiserApplication_WinForms","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ehiane%2FFundraiserApplication_WinForms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ehiane%2FFundraiserApplication_WinForms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ehiane%2FFundraiserApplication_WinForms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ehiane%2FFundraiserApplication_WinForms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ehiane","download_url":"https://codeload.github.com/Ehiane/FundraiserApplication_WinForms/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ehiane%2FFundraiserApplication_WinForms/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263033179,"owners_count":23403111,"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","design-patterns","fundraising","oop","oop-in-csharp","winforms"],"created_at":"2025-06-07T10:06:15.239Z","updated_at":"2026-04-26T08:39:08.283Z","avatar_url":"https://github.com/Ehiane.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WSU Fundraiser Management System 🎓💰\n\nA mock C#-based Windows Forms application designed to simulate a comprehensive fundraising ecosystem for a university environment. This project serves as a practical demonstration of Object-Oriented Programming (OOP), software design patterns, and UI development with WinForms.\n\n---\n\n## 📖 About The Project\n\nThis application provides a centralized platform for students, donors, and administrators to manage university clubs, fundraising projects, scholarships, and donations. Built entirely in C# with data persistence handled through XML, it showcases core software engineering principles in a desktop application format. The user-friendly interface allows for seamless interaction, from creating a club to processing donations and awarding scholarships.\n\nThis project was developed to model real-world software engineering practices, emphasizing a clean architecture and robust functionality for academic and portfolio purposes.\n\n### ✨ Key Features\n\n* **User Authentication \u0026 Roles**: Secure login system for different user types (**Student**, **Donor**, **Guest**, and **Administrator**) with distinct permissions and views.\n* **Club \u0026 Project Management**: Students can create and manage their own clubs, create fundraising projects associated with those clubs, and track progress.\n* **Scholarship System**: A complete workflow for creating scholarship opportunities, allowing students to apply, and for administrators to review applications and award funds.\n* **Donation \u0026 Transaction Handling**: Donors can easily contribute to specific clubs or projects. The system logs all transactions, providing summaries and tracking financial data.\n* **Data Persistence**: All application data, including users, clubs, and transactions, is saved and loaded from a local `WSUFundraiserDatabase.xml` file, simulating a database.\n* **User Profile Personalization**: Users can upload and manage their profile pictures, which are stored locally.\n* **Comprehensive Testing**: Includes a dedicated test suite using **NUnit** to validate the application's logic, covering normal operations, boundary conditions, and exceptional scenarios.\n\n---\n\n### 🧰 Technologies \u0026 Principles\n\n* **Backend**: C# (.NET Framework)\n* **Frontend**: Windows Forms (WinForms)\n* **Data Storage**: XML\n* **Testing**: NUnit\n* **Core Principles**: Object-Oriented Programming (OOP)\n* **Architectural Patterns**: Utilizes foundational patterns like **Singleton** (for the `Fundraiser` engine), **Factory** (for user creation), and a structure inspired by **Model-View-Controller (MVC)**.\n\n---\n\n## 🚀 Getting Started\n\nFollow these instructions to get a local copy of the project up and running on your machine.\n\n### Prerequisites\n\n* **Visual Studio** 2019 or later\n* **.NET Framework** 4.7.2 or later\n\n### Installation \u0026 Setup\n\n1.  **Clone the repository:**\n    ```sh\n    git clone [https://github.com/Ehiane/FundraiserApplication_WinForms.git](https://github.com/Ehiane/FundraiserApplication_WinForms.git)\n    ```\n2.  **Navigate to the project directory:**\n    ```sh\n    cd FundraiserApplication_WinForms\n    ```\n3.  **Open the solution file** (`FundraiserApplication_WinForms.sln`) in Visual Studio.\n4.  **Build the solution** to restore dependencies (Right-click on the solution in Solution Explorer -\u003e `Build Solution`).\n5.  **Run the application** by setting `FundraiserApp` as the startup project and pressing `F5` or the \"Start\" button. The main entry point is `FundraiserApp.cs`.\n\n---\n\n### 💾 Data Storage\n\n* **Database**: The application uses a single XML file, `WSUFundraiserDatabase.xml`, which acts as the database. It will be created automatically in a fixed local path (`C:\\Users\\Public\\WSUFundraiserDatabase.xml`) upon first run if it doesn't exist.\n* **User Images**: Profile pictures are stored in the `FundraiserApplication_WinForms/Images/` directory within the project structure.\n\n---\n\n## 🧪 Testing\n\nThe solution includes a `Fundraiser_NUnit_Tests` project that contains a suite of unit tests built with NUnit. These tests cover the core logic of the `WSUFundraiserEngine` to ensure reliability and correctness.\n\nTo run the tests:\n1.  Open the **Test Explorer** in Visual Studio (`Test` \u003e `Test Explorer`).\n2.  Build the solution to discover the tests.\n3.  Click **Run All Tests**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fehiane%2Ffundraiserapplication_winforms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fehiane%2Ffundraiserapplication_winforms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fehiane%2Ffundraiserapplication_winforms/lists"}