Skip to content

Latest commit

 

History

History
67 lines (51 loc) · 3.42 KB

File metadata and controls

67 lines (51 loc) · 3.42 KB

Zero Framework TODO

Auth & Sessions

  • Design authentication flow (login, logout, registration) leveraging Session and Cookie utilities
  • Implement middleware for guarding routes and redirecting guests/authenticated users
  • Add CSRF protection hooks (token generation, verification, helper integration)
  • Document usage patterns and update examples/controllers accordingly

CLI Tooling

  • Extend zero CLI with subcommands (migrate, make:model, make:controller, serve options)
  • Introduce command dispatcher structure for registering new commands cleanly
  • Provide scaffolding stubs for generated resources and update docs

Database Layer

  • Build lightweight migration system (table schema builder, migration runner CLI)
  • Add seeder support and sample seeds for common models
  • Enhance DBML/Model with eager loading helpers (e.g., with, load) and relationship batching
  • Implement pagination helpers for DBML and Model (e.g., paginate, simplePaginate)
  • Write integration tests covering migrations/model behaviours
  • Implement subquery relationship (e.g whereHas, has, whereDoesntHave)

Library Refactor

  • Modularize HTTP layer (split Http\Request/Http\Response into smaller concern-specific classes)
  • Break query builder into focused components (clauses, compilers, relations) under Zero\\Lib\\DB
  • Extract router route collection and middleware pipeline into dedicated classes
  • Restructure CLI commands into separate command classes with a dispatcher
  • Move helper utilities into grouped support modules (e.g., Support/Arr, Support/Str, Support/Collection, Support/Number)
  • Introduce validation layer (validator factory, rule classes, request helpers)

Error Handling

  • Create centralized exception handler for HTTP and CLI contexts
  • Implement configurable error pages / JSON responses for common HTTP status codes
  • Add logging hooks (file and optional external integrations) and configuration knobs
  • Update documentation to describe troubleshooting and error handling workflow

Mailable

  • Create mailable custom services

Queue

  • Job contract + JSON payload serializer with model rehydration
  • sync and database drivers with retry/backoff and failed_jobs storage
  • queue:work worker (with --once, multi-queue priority, graceful SIGTERM/SIGINT)
  • Operator commands: make:job, queue:retry, queue:forget, queue:flush, queue:table
  • Dispatchable trait + dispatch() global helper
  • dispatchAfterResponse() for fire-after-response work without a worker
  • Job middleware (rate-limit, unique)
  • Redis driver
  • Per-job timezone overrides

I18n / Translation

  • Add core i18n config (config/i18n.php) plus separate email translation config
  • Implement locale resolver with ordered strategies (URL prefix, session/cookie, header, custom callback/DB)
  • Add fallback locale chain (e.g., en-GB -> en -> default)
  • Support YAML and JSON translation loaders
  • Support inline @i18n() blocks in all templates (including child components)
  • Support external translation files at resources/i18n/{lang}/<page> and explicit @i18n('file-name') selection
  • Add translation helpers/aliases: __() and @t() with variable interpolation
  • Define missing-key behavior (return original text)
  • Document dot-notation and nested key access for YAML/JSON