PHPackages                             toporia/toporia - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. toporia/toporia

ActiveProject[Framework](/categories/framework)

toporia/toporia
===============

Toporia - A modern PHP application skeleton built with Clean Architecture

00PHP

Since Dec 18Pushed 5mo agoCompare

[ Source](https://github.com/Minhphung7820/toporia-toporia)[ Packagist](https://packagist.org/packages/toporia/toporia)[ RSS](/packages/toporia-toporia/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Toporia
=======

[](#toporia)

A modern PHP application skeleton built with Clean Architecture principles.

Requirements
------------

[](#requirements)

- **PHP**: &gt;= 8.1
- **Composer**: For dependency management

Installation
------------

[](#installation)

### Via Composer Create-Project (Recommended)

[](#via-composer-create-project-recommended)

```
composer create-project toporia/toporia my-app
cd my-app
```

### Via Git Clone

[](#via-git-clone)

```
git clone https://github.com/Minhphung7820/toporia-toporia.git my-app
cd my-app
composer install
cp .env.example .env
php console key:generate
```

### Docker Setup

[](#docker-setup)

```
make up           # Start services (app, nginx, mysql, redis)
make setup        # Install dependencies and run migrations
make shell        # Access PHP container
```

Project Structure
-----------------

[](#project-structure)

```
app/
├── Domain/              # Pure business entities and repository interfaces
├── Application/         # Use cases, services, handlers
├── Infrastructure/      # Repository implementations, external services
└── Presentation/        # Controllers, Middleware, Views

bootstrap/               # Application bootstrap
config/                  # Configuration files
database/
├── migrations/          # Database migrations
├── factories/           # Model factories
└── seeders/             # Database seeders
public/                  # Public assets and entry point
resources/
├── js/                  # Frontend JavaScript (Vue.js)
├── lang/                # Language files
└── views/               # View templates
routes/                  # Route definitions
storage/                 # Logs, cache, uploads
tests/                   # Test suites

```

Quick Start
-----------

[](#quick-start)

### Start Development Server

[](#start-development-server)

```
php -S localhost:8000 -t public
```

### Run Migrations

[](#run-migrations)

```
php console migrate
```

### Create a Controller

[](#create-a-controller)

```
php console make:controller UserController
```

### Create a Model

[](#create-a-model)

```
php console make:model User
```

### Run Tests

[](#run-tests)

```
composer test
```

Optional Packages
-----------------

[](#optional-packages)

Install additional features as needed:

```
# Role & Permission Management
composer require toporia/dominion

# OAuth Authentication (Google, Facebook, GitHub, etc.)
composer require toporia/socialite

# Webhook Handling
composer require toporia/webhook

# MongoDB Support
composer require toporia/mongodb

# Audit Logging
composer require toporia/audit

# Multi-tenancy
composer require toporia/tenancy

# API Versioning
composer require toporia/api-versioning
```

All packages support **auto-discovery** - providers and configs are registered automatically.

Documentation
-------------

[](#documentation)

See the [docs/](docs/) directory for detailed documentation on:

- Architecture patterns
- ORM and relationships
- Queue and jobs
- Authentication
- And more...

License
-------

[](#license)

MIT License

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance50

Moderate activity, may be stable

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity12

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/1cc240e87c451f2dd614b87bb0d07039e4a20d8b391221c651172cf341e0b6cd?d=identicon)[Minhphung7820](/maintainers/Minhphung7820)

---

Top Contributors

[![Minhphung7820](https://avatars.githubusercontent.com/u/110077842?v=4)](https://github.com/Minhphung7820 "Minhphung7820 (13 commits)")

### Embed Badge

![Health badge](/badges/toporia-toporia/health.svg)

```
[![Health](https://phpackages.com/badges/toporia-toporia/health.svg)](https://phpackages.com/packages/toporia-toporia)
```

###  Alternatives

[laravel/passport

Laravel Passport provides OAuth2 server support to Laravel.

3.4k85.0M532](/packages/laravel-passport)[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M259](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

712181.8M596](/packages/laravel-prompts)[cakephp/chronos

A simple API extension for DateTime.

1.4k47.7M121](/packages/cakephp-chronos)[laravel/pail

Easily delve into your Laravel application's log files directly from the command line.

91545.3M590](/packages/laravel-pail)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
