Skip to content

Repository files navigation

TaskFlow Pro

CI PHP 8.1+ PSR-12 PHPStan License: MIT

A task and project management system built on a custom MVC framework in PHP 8.1, written to practise Clean Architecture: the domain layer holds entities and repository interfaces, the application layer holds use cases, and PDO implementations live in infrastructure. Nothing in the domain knows about HTTP or MySQL.

Status

This is a learning and portfolio project, and it is honest about where it stands. The architecture and the application layer are real, and the auth, dashboard, kanban, calendar and settings views exist, added after issue #5 was filed. Two gaps are tracked in the open issues rather than hidden: #5resources/lang/ is empty, so Language::get() falls through and returns the raw key, which makes the fr/en/ar switcher inert — and #2 — PHPUnit reports 0% over 1,168 lines while CI is green.

Read it for the architecture and the use-case layer. Do not deploy it.

Architecture

app/
├── Application/        # Use cases (business logic orchestration)
├── Core/               # Shared services (i18n)
├── Domain/             # Entities and repository interfaces
├── Http/               # Controllers, middleware, request/response, routing
└── Infrastructure/     # Database repositories (PDO)
bootstrap/              # Application bootstrap
config/                 # (reads from .env via Dotenv)
database/               # Migration scripts
public/                 # Web root (entry point: index.php)
resources/              # Views, translations
routes/                 # Route definitions
storage/                # Cache, logs, sessions, uploads
tests/                  # PHPUnit tests

Requirements

  • PHP >= 8.1
  • MySQL >= 5.7
  • Apache with mod_rewrite (or PHP built-in server)
  • Composer

Installation

git clone https://github.com/WAHIB-EL-KHADIRI/taskflow-pro.git
cd taskflow-pro
cp .env.example .env
composer install
php database/migrate.php seed
php -S localhost:8000 -t public/

Environment

Copy .env.example to .env and configure:

Variable Description Default
APP_ENV development or production production
APP_DEBUG Verbose error output false
DB_HOST MySQL host 127.0.0.1
DB_DATABASE Database name taskflow_pro
DB_USERNAME DB user root
DB_PASSWORD DB password (empty)

Available Commands

composer start          # Start dev server
composer test           # Run PHPUnit
composer lint           # Check PSR-12 style
composer analyse        # PHPStan static analysis
php database/migrate.php refresh seed  # Reset DB with seed data

License

MIT

About

TaskFlow Pro — task & project management system in PHP 8.1, custom MVC with Clean Architecture

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages