e-Kid is a multi-tenancy SaaS application designed to efficiently manage Psychological-Pedagogical Counseling Centers. The application provides robust functionality for permissions and roles, ensuring flexible and secure access management for different user groups. By leveraging the CQRS (Command Query Responsibility Segregation) pattern, e-Kid ensures efficient validation of incoming commands and requests, allowing a dedicated layer to verify user permissions and roles for executing specific actions.
This repository is intended as a training project where interesting patterns and a fascinating domain are modeled. The goal is to implement best practices in software design and architecture while providing a useful tool for managing psychological-pedagogical counseling centers.
- Permissions and Roles Management: Granular control over user actions with flexible permissions and roles setup.
- Therapist Availability: Check the availability of therapists in real-time.
- Therapy Room Availability: Monitor the availability of therapy rooms.
- Therapist Scheduling: Therapists can mark their available days and hours.
- Electronic Session Log: Maintain an electronic log of therapy sessions.
- Notifications: Alerts for the director about sessions that did not occur or were not paid for.
- Framework: .NET 8
- Language: C#
- Database: PostgreSQL
- Clone the repository:
git clone https://github.com/hsoczewka/e-kid.git
- Navigate to the project directory:
cd e-kid
- Restore the dependencies:
dotnet restore
- Build the project:
dotnet build
- To run the application using Docker and
docker-compose
:- Ensure Docker is installed and running on your system.
- In the project directory, build the Docker images and start the containers:
docker-compose up --build
dotnet run
e-Kid allows administrators to define custom roles and permissions, ensuring that each user has access only to the features they need.
- Therapists: Users can check therapist availability through a user-friendly interface, ensuring optimal scheduling.
- Therapy Rooms: The application provides real-time updates on the availability of therapy rooms.
Therapists can mark their available times, making it easy for clients and administrators to book sessions.
Maintain a digital log of all therapy sessions, accessible to authorized users for review and reporting.
Directors receive notifications about sessions that were missed or not paid for, enabling prompt follow-up actions.
We welcome contributions to enhance e-Kid. To contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature-branch
- Make your changes.
- Commit your changes:
git commit -m "your commit message"
- Push to the branch:
git push origin feature-branch
- Open a pull request on GitHub.
This project is licensed under the MIT License - see the LICENSE file for details.
For any questions or support, please contact hubert.soczewka@gmail.com.
Enjoy!