start
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Próxima revisión | Revisión previa | ||
| start [2026/07/31 04:02] – creado adminmsicca | start [2026/07/31 04:26] (actual) – adminmsicca | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| - | # BASIS core | + | # BASIS |
| - | This project, **BASIS | + | This project, **BASIS**, is a modular, multi-tenant enterprise platform built with PHP. It implements a robust PSR-7/ |
| Based on the provided UML sequence diagram and codebase, here is a structured introduction to the project: | Based on the provided UML sequence diagram and codebase, here is a structured introduction to the project: | ||
| - | ### 1. HTTP Request Pipeline & Middleware Stack | + | ## 1. HTTP Request Pipeline & Middleware Stack |
| The application uses a layered middleware pipeline to process requests securely before they reach the business logic: | The application uses a layered middleware pipeline to process requests securely before they reach the business logic: | ||
| * | * | ||
| Línea 13: | Línea 13: | ||
| * | * | ||
| - | ### 2. Advanced Authentication & Security Flow | + | ## 2. Advanced Authentication & Security Flow |
| The platform implements a sophisticated, | The platform implements a sophisticated, | ||
| * | * | ||
| Línea 20: | Línea 20: | ||
| * | * | ||
| - | ### 3. Modern Frontend Integration (Hotwire Turbo) | + | ## 3. Modern Frontend Integration (Hotwire Turbo) |
| Instead of building a heavy SPA, the project uses **Hotwire Turbo** for a fast, modern UX: | Instead of building a heavy SPA, the project uses **Hotwire Turbo** for a fast, modern UX: | ||
| * The `TurboStreamDetector` intercepts responses from the `App Controller`. | * The `TurboStreamDetector` intercepts responses from the `App Controller`. | ||
| Línea 26: | Línea 26: | ||
| * This allows seamless, SPA-like navigation without writing custom JavaScript, while keeping the server as the source of truth. | * This allows seamless, SPA-like navigation without writing custom JavaScript, while keeping the server as the source of truth. | ||
| - | ### 4. Modular & Multi-Tenant Architecture | + | ## 4. Modular & Multi-Tenant Architecture |
| The project is structured as a monorepo containing distinct " | The project is structured as a monorepo containing distinct " | ||
| * | * | ||
| * | * | ||
| * | * | ||
| + | |||
| + | # BASIS Core Overview | ||
| + | |||
| + | BASIS Core is a modular framework and identity kernel for the BASIS ecosystem (which includes applications like Operand, Nexus, Vector, Codex, and Axis). It serves as a central authentication and modular platform for enterprise applications. | ||
| + | |||
| + | # Key Modules and Their Functions | ||
| + | |||
| + | ## 1. Core Modules (in `/core/` directory) | ||
| + | - **Agents**: Likely handles agent-based operations or services | ||
| + | - **Auth**: Central authentication system implementing JWT, refresh token rotation, and session management | ||
| + | - **DB**: Database-related utilities and connection management | ||
| + | - **Http**: HTTP request handling, middleware, and routing | ||
| + | - **Mail**: Email handling functionality | ||
| + | - **MasterData**: | ||
| + | - **Modules**: | ||
| + | - **Support**: | ||
| + | - **View**: View rendering and templating system | ||
| + | |||
| + | ## 2. Application Modules (in `/modules/` directory) | ||
| + | - **audit (sys-audit)**: | ||
| + | - **catalog-master**: | ||
| + | - **configuration (sys-config)**: | ||
| + | - **core-admin**: | ||
| + | - **core-auth**: | ||
| + | - **core-dashboard**: | ||
| + | - **entity-master**: | ||
| + | - **event-bus**: | ||
| + | - **files (sys-files)**: | ||
| + | - **localization (sys-localization)**: | ||
| + | - **notifications (sys-notifications)**: | ||
| + | - **procurement-core**: | ||
| + | - **project-master**: | ||
| + | - **reporting (biz-reporting)**: | ||
| + | - **scheduler (sys-scheduler)**: | ||
| + | |||
| + | ## 3. Vertical Applications (in `/apps/` directory) | ||
| + | - **axis**: Specific application (possibly for analytics or BI) | ||
| + | - **codex**: Documentation or knowledge management application | ||
| + | - **nexus**: Central hub or integration application | ||
| + | - **operand**: | ||
| + | - **synapse**: | ||
| + | - **vector**: Data or application vector system | ||
| + | |||
| + | ## 4. Shared Components (in `/shared/` directory) | ||
| + | - **components**: | ||
| + | - **layouts**: | ||
| + | - **widgets**: | ||
| + | |||
| + | # **Code Organization** | ||
| + | |||
| + | ## 1. Directory Structure | ||
| + | The project follows a clear hierarchical structure: | ||
| + | - **Root Level**: Configuration files, documentation, | ||
| + | - **core/**: Core framework functionality | ||
| + | - **modules/ | ||
| + | - **apps/**: Vertical applications built on the framework | ||
| + | - **shared/ | ||
| + | - **config/ | ||
| + | - **docs/**: Comprehensive documentation | ||
| + | - **tests/**: Unit, integration, | ||
| + | |||
| + | ## 2. Configuration System | ||
| + | - Central configuration in `/config/` with files for: | ||
| + | - Application settings (`app.php`) | ||
| + | - Authentication (`auth.php`) | ||
| + | - Database connections (`database.php`) | ||
| + | - Module management (`modules.php`, | ||
| + | - UI configuration (`theme.php`, | ||
| + | |||
| + | ## 3. Module System | ||
| + | - Each module has a `manifest.json` defining metadata, dependencies, | ||
| + | - Modules can be enabled/ | ||
| + | - Modular architecture allows for selective feature implementation | ||
| + | |||
| + | ## 4. Authentication System | ||
| + | - JWT-based authentication with refresh token rotation | ||
| + | - OIDC (OpenID Connect) support endpoints | ||
| + | - Multi-factor authentication (MFA) capabilities | ||
| + | - Role-based access control (RBAC) with attribute-based access control (ABAC) elements | ||
| + | |||
| + | ## 5. Security Features | ||
| + | - CSRF protection | ||
| + | - Session management | ||
| + | - Row-level security (RLS) in database | ||
| + | - Modular branding theming system | ||
| + | |||
| + | ## 6. API Design | ||
| + | - RESTful API with versioned endpoints (`/ | ||
| + | - Clear separation between public and private endpoints | ||
| + | - Contract-based API design defined in `CORE_CONTRACT.md` | ||
| + | |||
| + | ## 7. Frontend Components | ||
| + | - Uses Tailwind CSS for styling | ||
| + | - Modular UI components with semantic color aliases | ||
| + | - Turbo integration for enhanced user experience | ||
| + | |||
| + | # Technology Stack | ||
| + | - **PHP 8.1+** as the main programming language | ||
| + | - **PostgreSQL** for database management | ||
| + | - **Redis** for sessions, caching, and rate limiting | ||
| + | - **PSR standards** for HTTP handling and autoloading | ||
| + | - **Alpine.js/ | ||
| + | - **Flysystem** for file management | ||
| + | - **WebAuthn** for passwordless authentication | ||
| + | |||
| + | # Integration Points | ||
| + | - Event-driven architecture with hooks for user provisioning, | ||
| + | - Modular menu system that can be extended by modules | ||
| + | - Multi-tenant architecture with tenant-specific data isolation | ||
| + | |||
| + | # Notable Features | ||
| + | 1. **Modular Branding**: CSS variables and semantic aliases for consistent theming | ||
| + | 2. **Dynamic Menu System**: Menu injection through manifests | ||
| + | 3. **Multi-tenant Support**: Tenant mapping and isolation | ||
| + | 4. **Audit Trail**: Comprehensive logging across modules | ||
| + | 5. **Internationalization**: | ||
| + | |||
| + | This architecture BASIS Core as a robust, extensible platform for building enterprise applications with strong authentication, | ||
start.1785470524.txt.gz · Última modificación: por adminmsicca
