Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/johnntirintis/physiosoft
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.
https://github.com/johnntirintis/physiosoft
asp-net-core asp-net-mvc csharp entity-framework healthcare-application mvc web-application
Last synced: 1 day ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/johnntirintis/physiosoft
- Owner: JohnNtirintis
- License: gpl-3.0
- Created: 2023-12-03T18:08:33.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2023-12-29T07:53:41.000Z (11 months ago)
- Last Synced: 2023-12-29T08:40:44.648Z (11 months ago)
- Topics: asp-net-core, asp-net-mvc, csharp, entity-framework, healthcare-application, mvc, web-application
- Language: C#
- Homepage:
- Size: 33.2 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: Security/EncryptionUtil.cs
Awesome Lists containing this project
README
# Physiosoft
Physiosoft 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.
## Features
- **Appointment Scheduling**: Users can create, update, and delete appointments efficiently, facilitating smooth operation of the physiotherapy sessions.
- **Patient Management**: Allows for the registration and management of patient information, ensuring that patient records are easily accessible and well-organized.
- **Physiotherapist Profiles**: Manage and maintain detailed profiles for physiotherapists, including their schedules, specializations, and availability.
- **Appointment Tracking**: Provides a comprehensive view of upcoming and past appointments, aiding in better planning and resource allocation.## Technical Architecture
Physiosoft employs a robust MVC layered architecture, ensuring separation of concerns and making the application scalable and maintainable. The architecture is outlined as follows:
- **Data Access Object (DAO) / Data Transfer Object (DTO)**: For handling data interactions and transfer between different application layers.
- **Data Layer**: Manages the application's data structures, it's logic and its interaction with the database.
- **View Layer**: Manages the user interface and presentation logic.
- **Controllers**: Serve as an intermediary between the Model and View layers, handling user input and responses.In addition to this, Physiosoft integrates various other technologies and practices:
- **Repository Architecture**: Incorporating IBaseRepository and BaseRepository patterns for abstracted data operations, alongside IUserRepository and UserRepository for user-specific data handling.
- **Entity Framework**: Utilizes Entity Framework for object-relational mapping, simplifying data access and manipulation.
- **DbContext and Fluent API**: Manages database contexts and employs Fluent API for advanced configuration and mappings.
- **Validators**: Ensures data integrity and validation throughout the application.
- **Custom Exceptions**: Implements custom exception handling for clearer and more precise error management.
- **NLogger**: For efficient and effective logging of application activities and errors.
- **User Registration/Login/Validation**: Manages user accounts, authentication, and authorization securely.## Tech Stack
- **C# and .NET 8**: Forms the core of backend development, providing a powerful and efficient programming environment.
- **SQL Database**: Utilizes SQL databases for robust and reliable data storage.
- **Razor, Bootstrap, and JQuery**: These technologies enhance the front-end development, ensuring a responsive and user-friendly interface.## Installation and Setup
- Clone the repository:
git clone https://github.com/JohnNtirintis/Physiosoft.git
- Database Setup:
- Navigate to the SQL folder within the cloned repository.
- Open SSMS.
- Run the CreateDatabase.sql script to create the necessary database schema.
- Execute the CreateUser.sql script to create user accounts.
- Finally, run the PopulateDatabase.sql script to populate the database with some example data.
- Application Configuration
- Ensure that the connection strings in the application configuration file (appsettings.json) are set to point to your newly created database.
- Verify that other configuration settings (like any API keys or external service configurations) are correctly set up.