A robust, three-tier healthcare information system designed to automate key workflows in modern medical centers. This platform is built with a modular architecture, prioritizing scalability, security, and compliance with national regulatory requirements.
The platform provides a comprehensive suite of tools for healthcare providers, covering the full patient service cycle from initial appointment booking to the maintenance of detailed electronic medical records (EMR). Built with a modular three-tier architecture, the system integrates resource management, staff scheduling, and automated reporting into a single workspace, ensuring scalability and compliance with national regulatory standards. Currently, the project is undergoing a strategic transition to a Symfony-based component architecture to further enhance its flexibility and long-term maintainability.
- Backend: PHP 8.2+
- Templating Engine: Twig
- Frontend: Semantic UI, Vanilla JS
- Database: MySQL/MariaDB, with SQLite support for development
- Web Server: Nginx + PHP-FPM
Detailed deployment instructions will be added to
docs/deployment.md.
-
Clone the repository:
git clone https://github.com/your-username/clinic-management-platform.git cd clinic-management-platform/www -
Install dependencies:
composer install
-
Configure the environment:
- Copy
.env.exampleto.env. - Specify the connection parameters for your database.
- Copy
-
Run migrations and data seeding:
composer db:migrate composer db:seed
-
Configure the web server to point to the
public/directory as the root. -
Start the local server (for development):
php -S localhost:8000 -t public
To ensure code quality, the project uses the following tools:
- PHPStan — static analysis to detect errors in PHP code
- PHPCS — code style checking according to PSR-12 standard
- PHPUnit — running Unit and Integration tests
composer installAll commands are executed from the www/ directory:
# Static analysis with PHPStan
composer stan
# Code style check with PHPCS
composer cs-check
# Automatic style fixes with PHPCS
composer cs
# Running PHPUnit tests
composer test# PHPStan
vendor/bin/phpstan analyse
# PHPCS
vendor/bin/phpcs --standard=PSR12 --ignore=vendor/ public/ src/
# PHPCBF (automatic fixes)
vendor/bin/phpcbf --standard=PSR12 --ignore=vendor/ public/ src/
# PHPUnit
vendor/bin/phpunitGitHub Actions automatically runs all checks on every push to branches main, epic/**, feature/**, fix/** and on Pull Requests to main. The status of checks is displayed in the badges at the beginning of this file.