{"id":32374082,"url":"https://github.com/kris3713/fp_spsu23","last_synced_at":"2026-04-16T04:02:23.696Z","repository":{"id":320624020,"uuid":"725325832","full_name":"kris3713/FP_SPSU23","owner":"kris3713","description":"An example of a dotNET MAUI app that creates and manages an SQLite database.","archived":false,"fork":false,"pushed_at":"2024-11-05T00:05:31.000Z","size":4348,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-24T22:24:03.701Z","etag":null,"topics":["dotnet","maui","paket","rider","sqlite","visual-studio"],"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/kris3713.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-11-29T22:55:32.000Z","updated_at":"2025-08-10T22:48:11.000Z","dependencies_parsed_at":"2025-10-24T22:06:28.001Z","dependency_job_id":null,"html_url":"https://github.com/kris3713/FP_SPSU23","commit_stats":null,"previous_names":["kris3713/fp_spsu23","flawlesscasual17/fp_spsu23"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/kris3713/FP_SPSU23","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kris3713%2FFP_SPSU23","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kris3713%2FFP_SPSU23/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kris3713%2FFP_SPSU23/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kris3713%2FFP_SPSU23/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kris3713","download_url":"https://codeload.github.com/kris3713/FP_SPSU23/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kris3713%2FFP_SPSU23/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31870516,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"online","status_checked_at":"2026-04-16T02:00:06.042Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["dotnet","maui","paket","rider","sqlite","visual-studio"],"created_at":"2025-10-24T22:04:50.459Z","updated_at":"2026-04-16T04:02:23.669Z","avatar_url":"https://github.com/kris3713.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# .NET MAUI Final Project 2023\n\n_\u003csup\u003eLast Updated: December 11, 2023 4:20 AM (UTC)\u003c/sup\u003e_\n\n_Developed by Hieu Pham, Sherif Mansour, and Kris Schneider_\n\n* [.NET MAUI Final Project 2023](#net-maui-final-project-2023)\n  * [A short explanation of this app](#a-short-explanation-of-this-app)\n    * [How to use the app](#how-to-use-the-app)\n      * [Sign Up](#sign-up)\n      * [Log In](#log-in)\n      * [Search Members](#search-members)\n      * [Update Member Information](#update-member-information)\n      * [Delete Members](#delete-members)\n    * [Program Structure](#program-structure)\n      * [Methods employed](#methods-employed)\n  * [Tools used for developing the project](#tools-used-for-developing-the-project)\n    * [Getting Started (For developers only)](#getting-started-for-developers-only)\n      * [Build and run the app](#build-and-run-the-app)\n\n--------\n\n## A short explanation of this app\n\nOnce you've signed up and logged in, you can perform a search, choose a member from the search results, and add a new entry to update the desired field by clicking the update button. The process for deleting is similar: you search, select, click delete, confirm the deletion, and then voilà.\n\n### How to use the app\n\n#### Sign Up\n\nTo use the SKH Gym Management App, you need to sign up with your credentials.\n\n1. Open the app on your device.\n\n2. Click on the \"Sign Up\" button.\n\n3. Fill in the required information (e.g., username, password, email).\n\n4. Click the \"Submit\" button to create your account.\n\n#### Log In\n\nAfter signing up, log in to access the app's functionalities.\n\n1. Click on the \"Log In\" button.\n\n2. Enter your username and password.\n\n3. Click the \"Login\" button.\n\n#### Search Members\n\nOnce logged in, you can search for members in the database.\n\n1. Click on the \"Search\" button.\n\n2. Enter the member's information (e.g., name, ID) in the search field.\n\n3. Select the desired member from the search results.\n\n#### Update Member Information\n\nAfter selecting a member, you can update their information.\n\n1. Click on the \"Update\" button.\n\n2. Type the new information in the corresponding fields.\n\n3. Click the \"Update\" button to save the changes.\n\n#### Delete Members\n\nIf you need to remove a member from the database, follow these steps.\n\n1. Search for the member as described in the \"Search Members\" section.\n\n2. Select the member you want to delete.\n\n3. Click on the \"Delete\" button.\n\n4. Confirm the deletion.\n\n---------\n\n### Program Structure\n\n1. _`App.xaml` \u0026 `App.xaml.cs`_:\n\n    Defines the main application class and lifecycle events.\n    Manages initialization and startup logic for the SKH Gym Management App.\n\n2. _`MainPage.xaml` \u0026 `MainPage.xaml.cs`_:\n\n    Scrollable main page with a logo, welcome message, and buttons for sign-up, log-in, and member management.\n    Configured button properties for size, color, and event handlers.\n    Logic for button clicks implemented in _`MainPage.xaml.cs`_.\n\n3. _`SignUp.xaml` \u0026 `SignUp.xaml.cs`_:\n\n    Scrollable Sign-Up page with input fields organized using `ScrollView()` and `VerticalStackLayout()`.\n    Each input field arranged using `HorizontalStackLayout()`.\n    `SignUpButton` triggers `OnClickSignUp()` event on click.\n\n4. _`LogIn.xaml` \u0026 `LogIn.xaml.cs`_:\n\n    Scrollable Log In page with username, password input fields, and the \"Login\" button.\n    Layout organized using `ScrollView()` and `VerticalStackLayout()`.\n    LogInButton triggers `OnClickLogIn()` event on click.\n\n5. _`ManageMember.xaml` \u0026 `ManageMember.xaml.cs`_:\n\n    Scrollable page for managing members with a search bar, search results, and sections for selected member details and update fields.\n    Input fields organized using various layouts like `StackLayout()` and `HorizontalStackLayout()`.\n    Buttons for updating and deleting members with corresponding event handlers (`OnClickUpdate()` and `OnClickDelete()`).\n\n--------\n\n#### Methods employed\n\n1. In _`SignUp.xaml.cs`_\n\n   * `OnClickSignUp()`\n    Handles the click event of the `SignUpButton()`.\n    Includes logic to validate user inputs, process the sign-up request, and navigate to the appropriate page.\n\n2. In _`LogIn.xaml.cs`_\n\n   * `OnClickLogIn()`\n      Handles the click event of the `LogInButton()`.\n      Includes logic to authenticate user credentials, process the log-in request, and navigate to the main application page.\n\n3. In _`ManageMember.xaml.cs`_\n\n   * `OnSearchTextChanged()`\n      Handles the text changed event of the `MemberSearchBar`.\n      Includes logic to filter and update the displayed search results based on the entered text.\n\n   * `OnItemSelected()`\n      Handles the item selected event of the `SearchResultsListView`.\n      Includes logic to display detailed information about the selected member.\n\n   * `OnClickUpdate()`\n      Handles the click event of the \"UpdateButton\".\n      Includes logic to update the member's information based on the entered data in the update fields.\n\n   * `OnClickDelete()`\n      Handles the click event of the \"DeleteButton\".\n      Includes logic to delete the selected member from the system.\n\nFeel free to reach out if you encounter any issues or have suggestions for improvement. Thank you for using the SKH Gym Management App!\n\n--------\n\n## Tools used for developing the project\n\n* _Visual Studio 2022/JetBrains Rider_\n* _dotNET SDK_\n* _Visual Studio Code (VSCode)/VSCodium_ (Optional)\n\n### Getting Started (For developers only)\n\n1. **Installation**\n    Clone the repository to your local machine.\n\n    ```bash\n    git clone 'https://github.com/FlawlessCasual17/FP_SPSU23.git'\n    ```\n\n2. **Navigate to the project directory.**\n\n    ```bash\n    cd \"a_directory/FP_SPSU23\"\n    ```\n\n#### Build and run the app\n\n1. **Prerequisite Steps**\n\n    1. Open the solution in _Visual Studio 2022/JetBrains Rider_, or your preferred IDE.\n\n    1. Please note, the following _NuGet_ packages are required: **`Microsoft.sqlite.core`** and **`sqlitepclraw.bundle_E_sqlite3`**.\n        These can be installed by running,\n\n        ```bash\n        dotnet add package Microsoft.sqlite.core\n        dotnet add package sqlitepclraw.bundle_E_sqlite3\n        ```\n\n        Or by using your IDEs built-in _NuGet_ package manager GUI.\n\n2. **Building and Running the App**\n\n    _IMPORTANT NOTE:_\n    _Before running the app, ensure that you comment out the dummy data to prevent it from being inserted into the database inadvertently. Failure to do so may result in unwanted data being added to the database during the initial run. Please refer to the code comments for guidance on how to comment out the dummy data._\n\n   1. Make sure you have **_.NET MAUI_** installed on your machine.\n     If you don't have **_.NET MAUI_** on your system; you can install it by running,\n\n      _Note: Make sure your working directory in your terminal is SET to the folder you cloned the project to._\n\n        ```bash\n        dotnet workload install maui -s 'https://api.nuget.org/v3/index.json'\n        ```\n\n   1. In the IDE of your choice, click the \"Build\" button to compile the project. Then click the \"Run\" button to run and deploy the app.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkris3713%2Ffp_spsu23","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkris3713%2Ffp_spsu23","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkris3713%2Ffp_spsu23/lists"}