insidesuki / application
Requires
- php: >=8.1
- ext-ctype: *
- ext-iconv: *
- api-platform/core: ^3.4.17
- composer/package-versions-deprecated: 1.11.99.4
- doctrine/annotations: 1.*
- doctrine/doctrine-bundle: 2.*
- doctrine/doctrine-migrations-bundle: 3.*
- doctrine/orm: 2.*
- dompdf/dompdf: *
- endroid/qr-code-bundle: ^4.2
- hot4devs/pdf-generator: ^0.1
- insidesuki/ddd-utils: 6.*
- insidesuki/utilities-file: 6.*
- insidesuki/valueobject: 3.*
- knplabs/knp-paginator-bundle: 5.*
- league/flysystem-bundle: ^3.4
- league/flysystem-sftp-v3: ^3.29
- lexik/jwt-authentication-bundle: 2.*
- nelmio/cors-bundle: 2.*
- phpdocumentor/reflection-docblock: ^5.3
- phpstan/phpdoc-parser: ^1.4
- symfony/asset: ^6.4.0
- symfony/console: ^6.4.0
- symfony/dotenv: ^6.4.0
- symfony/expression-language: ^6.4.0
- symfony/flex: ^1.17|^2
- symfony/form: ^6.4.0
- symfony/framework-bundle: ^6.4.0
- symfony/mailer: ^6.4.0
- symfony/monolog-bundle: 3.*
- symfony/process: ^6.4.14
- symfony/property-access: ^6.4.0
- symfony/property-info: ^6.4.0
- symfony/proxy-manager-bridge: ^6.4.0
- symfony/runtime: ^6.4.0
- symfony/security-bundle: ^6.4.0
- symfony/serializer: ^6.4.0
- symfony/twig-bundle: ^6.4.0
- symfony/uid: ^6.4.0
- symfony/validator: ^6.4.0
- symfony/yaml: ^6.4.0
- symfonycasts/reset-password-bundle: 1.*
- symfonycasts/verify-email-bundle: 1.*
- twig/cssinliner-extra: 3.*
- twig/extra-bundle: 3.*
- twig/markdown-extra: 3.*
- twig/twig: ^2.12|3.*
Requires (Dev)
- dama/doctrine-test-bundle: ^7.2
- insideapps/ddd-iacontext: ^3.1
- phpstan/phpstan: ^1.10
- phpunit/phpunit: 9.*
- rector/rector: ^0.18.11
- symfony/maker-bundle: ^1.47
- symfony/phpunit-bridge: ^7.0
- symfony/stopwatch: ^6.4.0
- symfony/web-profiler-bundle: ^6.4.0
Conflicts
Replaces
- dev-master
- 6.8.1
- 6.8.0
- 6.7.2
- 6.7.1
- 6.6.9
- 6.6.8
- 6.6.7
- 6.6.4
- 6.6.3
- 6.6.2
- 6.6.1
- 6.6
- 6.5.1
- 6.4.12
- 6.4.11
- 6.4.10
- 6.4.9
- 6.4.8
- 6.4.7
- 6.4.6
- 6.4.5
- 6.4.4
- 6.4.3
- 6.4.2
- 6.4.1
- 6.4
- 3.8.2
- 3.8.1
- 3.8
- 3.7
- 3.6
- 3.5.3
- 3.5.2
- 3.5
- 3.3.2
- 3.3.1
- 3.3
- 3.2
- 3.1
- 3.0
- 2.1
- 2.0
- 1.3
- 1.2
- 1.1.0
- 1.0.2
- 1.0.1
- 1.0.0
- 0.4.2
- 0.4.1
- 0.4.0
- 0.3.1
- 0.3
- 0.2
- 0.1.7
- 0.1.6
- 0.1.5
- 0.1.4
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1.0
- 0.0.5
- 0.0.4
- 0.0.3
- 0.0.2
- 0.0.1
- dev-feature/htmx-integration
This package is auto-updated.
Last update: 2025-05-23 05:33:40 UTC
README
๐ Overview
A modern Symfony 6.4 project skeleton built around Clean Architecture principles, specifically implementing the Hexagonal Architecture (also known as Ports and Adapters) pattern. This architecture isolates the core business logic from external concerns, making the system more maintainable, testable, and adaptable to change.
The project structure separates the core application from external dependencies:
- The kernel lives in
/src
, isolated from your application code - Application and domain code lives in the
/app
folder, organized by bounded contexts - Infrastructure implementations connect the core to external systems and frameworks
This separation enables:
- ๐ Swappable adapters (persistence, UI, services) without affecting business logic
- ๐งช Testable domain logic independent of infrastructure concerns
- ๐ก๏ธ Protection of business rules from external influence
- ๐งฉ Clear separation of concerns through well-defined ports (interfaces)
๐๏ธ Architecture
The project follows a Clean Architecture approach with the Hexagonal Architecture pattern (Ports and Adapters):
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Application โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Domain Layer โ โ
โ โ โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ
โ โ โ โ โ โ
โ โ โ Business Logic โ โ โ
โ โ โ โ โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ
โ โ โ โ โ
โ โ โผ โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ
โ โ โ Application โ โ โ
โ โ โ Layer โ โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ
โ โ โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Infrastructure Layer (Adapters) โ โ
โ โ โ โ
โ โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโ โ โ
โ โ โ Database โ โ Web โ โ Third โ โ โ
โ โ โ Adapter โ โ Adapter โ โ Party โ โ โ
โ โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Key Architectural Components:
- Domain Layer: Contains business logic, entities, value objects, and domain services.
- Application Layer: Contains use cases, application services, and ports (interfaces).
- Infrastructure Layer: Contains adapters that implement the ports defined in the application layer.
๐ค InsideApps IA Context
This project includes InsideApps IA context for AI assistants. The InsideApps framework provides:
- ๐ DDD Architectural Guidance: Clear guidelines for implementing Domain-Driven Design
- ๐๏ธ Automated Generation: Module and entity creation following DDD best practices
- ๐ค AI Integration: Specialized commands for AI assistants to understand the architecture
- ๐ Business Rule Enforcement: Consistent application of rules from the business-context directory
- ๐ Memory Protocol: Tracking of project changes and architectural decisions
InsideApps Commands:
# Load full architectural context
insideapps:start
# Create a new module with proper DDD structure
insideapps create new module <ModuleName>
# Create a new entity with business rules
insideapps create new entity <EntityName> in <ModuleName> with this rule: <BusinessRules>
For complete documentation, see the insideapps.md
file.
โจ Features
- ๐ Authentication System: Decoupled implementation for flexibility
- ๐ Password Recovery: Decoupled password restoration system
- ๐ API Support: Built-in API capabilities with documentation
- ๐ Monolog Integration: Comprehensive logging
- ๐จ PlaniAdmin Template: Modern admin interface integration
๐ Installation
- Clone the repository
- Install dependencies:
composer install
- Create a
.env.local
file in theconfig/env
folder - Configure your database connection and mailer DSN
- Run database migrations:
php bin/console doctrine:migrations:migrate
- Start the development server:
symfony server:start
๐ Routes
- ๐
/login
- Authentication page - ๐
/api/docs
- API Documentation
๐ Documentation
For more detailed documentation on the architecture and development guidelines, please refer to:
insideapps.md
- InsideApps AI context and architectural guidelinesbusiness-context/
directory - Business rules and domain models