{"id":20170124,"url":"https://github.com/johnntirintis/physiosoft","last_synced_at":"2025-10-14T04:29:23.753Z","repository":{"id":213430807,"uuid":"726896841","full_name":"JohnNtirintis/Physiosoft","owner":"JohnNtirintis","description":"Physiosoft is a web application for managing physiotherapy appointments, patient records, and physiotherapist profiles. Developed using ASP.NET Core, C#, and Entity Framework, it offers features like appointment scheduling, patient management, and user authentication, tailored for efficient management.","archived":false,"fork":false,"pushed_at":"2023-12-29T07:53:41.000Z","size":34811,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-03T04:15:41.872Z","etag":null,"topics":["asp-net-core","asp-net-mvc","csharp","entity-framework","healthcare-application","mvc","web-application"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JohnNtirintis.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"Security/EncryptionUtil.cs","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-03T18:08:33.000Z","updated_at":"2025-02-28T07:40:52.000Z","dependencies_parsed_at":"2023-12-29T08:46:43.430Z","dependency_job_id":null,"html_url":"https://github.com/JohnNtirintis/Physiosoft","commit_stats":null,"previous_names":["johnntirintis/physiosoft"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JohnNtirintis/Physiosoft","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohnNtirintis%2FPhysiosoft","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohnNtirintis%2FPhysiosoft/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohnNtirintis%2FPhysiosoft/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohnNtirintis%2FPhysiosoft/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JohnNtirintis","download_url":"https://codeload.github.com/JohnNtirintis/Physiosoft/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohnNtirintis%2FPhysiosoft/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279017943,"owners_count":26086213,"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","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"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":["asp-net-core","asp-net-mvc","csharp","entity-framework","healthcare-application","mvc","web-application"],"created_at":"2024-11-14T01:17:03.572Z","updated_at":"2025-10-14T04:29:23.739Z","avatar_url":"https://github.com/JohnNtirintis.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Physiosoft\n\nPhysiosoft is a comprehensive web application tailored for physiotherapy facilities. It streamlines the process of managing physiotherapists, patients, and appointments, offering a centralized platform for scheduling and tracking sessions. The application is built with a focus on ease of use and efficiency in managing daily operations of a physiotherapy center.\n\n## Features\n\n- **Appointment Scheduling**:  Users can create, update, and delete appointments efficiently, facilitating smooth operation of the physiotherapy sessions.\n- **Patient Management**: Allows for the registration and management of patient information, ensuring that patient records are easily accessible and well-organized.\n- **Physiotherapist Profiles**: Manage and maintain detailed profiles for physiotherapists, including their schedules, specializations, and availability.\n- **Appointment Tracking**: Provides a comprehensive view of upcoming and past appointments, aiding in better planning and resource allocation.\n\n## Technical Architecture\n\nPhysiosoft employs a robust MVC layered architecture, ensuring separation of concerns and making the application scalable and maintainable. The architecture is outlined as follows:\n\n- **Data Access Object (DAO) / Data Transfer Object (DTO)**: For handling data interactions and transfer between different application layers.\n- **Data Layer**: Manages the application's data structures, it's logic and its interaction with the database.\n- **View Layer**: Manages the user interface and presentation logic.\n- **Controllers**: Serve as an intermediary between the Model and View layers, handling user input and responses.\n\nIn addition to this, Physiosoft integrates various other technologies and practices:\n\n- **Repository Architecture**: Incorporating IBaseRepository and BaseRepository patterns for abstracted data operations, alongside IUserRepository and UserRepository for user-specific data handling.\n- **Entity Framework**: Utilizes Entity Framework for object-relational mapping, simplifying data access and manipulation.\n- **DbContext and Fluent API**: Manages database contexts and employs Fluent API for advanced configuration and mappings.\n- **Validators**: Ensures data integrity and validation throughout the application.\n- **Custom Exceptions**: Implements custom exception handling for clearer and more precise error management.\n- **NLogger**: For efficient and effective logging of application activities and errors.\n- **User Registration/Login/Validation**: Manages user accounts, authentication, and authorization securely.\n\n## Tech Stack\n- **C# and .NET 8**: Forms the core of backend development, providing a powerful and efficient programming environment.\n- **SQL Database**: Utilizes SQL databases for robust and reliable data storage.\n- **Razor, Bootstrap, and JQuery**: These technologies enhance the front-end development, ensuring a responsive and user-friendly interface.\n\n## Installation and Setup\n\u003col\u003e\n  \u003cli\u003eClone the repository:\n    \n     \n     git clone https://github.com/JohnNtirintis/Physiosoft.git\n    \n  \u003c/li\u003e\n  \u003cli\u003eDatabase Setup:\n    \u003cul\u003e\n      \u003cli\u003eNavigate to the SQL folder within the cloned repository.\u003c/li\u003e\n      \u003cli\u003eOpen SSMS.\u003c/li\u003e\n      \u003cli\u003eRun the CreateDatabase.sql script to create the necessary database schema.\u003c/li\u003e\n      \u003cli\u003eExecute the CreateUser.sql script to create user accounts.\u003c/li\u003e\n      \u003cli\u003eFinally, run the PopulateDatabase.sql script to populate the database with some example data.\u003c/li\u003e\n    \u003c/ul\u003e\n  \u003c/li\u003e\n  \u003cli\u003eApplication Configuration\n     \u003cul\u003e\n      \u003cli\u003eEnsure that the connection strings in the application configuration file (appsettings.json) are set to point to your newly created database.\u003c/li\u003e\n      \u003cli\u003eVerify that other configuration settings (like any API keys or external service configurations) are correctly set up.\u003c/li\u003e\n    \u003c/ul\u003e\n  \u003c/li\u003e\n\u003c/ol\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnntirintis%2Fphysiosoft","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnntirintis%2Fphysiosoft","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnntirintis%2Fphysiosoft/lists"}