Skip to content

Roadmap

Max edited this page Nov 22, 2020 · 15 revisions

WIP

Version 3

  • Support for Laravel 8
  • Get rid of Webpatser\Uuid\ package (use Ramsey for everything)

Roadmap

Version 3.1

  • Redo factories in the new way, in the boilerplate
  • Add generator template using the new system (introducted in laravel 7)

Version 3.2

  • Tackle getAll stuff
    • Add filtering
    • Add sorting
    • Make pagination more configurable (ie. specify perPage in the controller for a route)
      • Suggestion is to make it a static on the controller
    • Add optional relation includes
  • Related: https://github.com/specialtactics/l5-api/pull/27

Version 3.3

  • Support for PHP 8
  • Distributed tracing feature

Version 3.4

  • Add user registration to boilerplate base code
  • Add PUT implementation to Child Restful Controller

Version n

  • Add HMAC authentication

Version n+5

Further down the track

  • Rewrite of underlying dingo functionality to achieve compatibility with Laravel Router
  • Look at more permissions options, eg. https://github.com/spatie/laravel-permission
  • Look at automated docs generation (either blueprint and/or openapi)

Todos from readme (put here in November 2020)

There are definitely some duplicates below.

Todo

  • Add model factory to make:api-resource command and integrate it with stub for seeder
  • Add pagination to child controller getAll() (requires a bit of a rewrite of how that works)
  • Think of an easy way to deal with needing to hide relationships
  • Add command to make a new transformer
  • Integrate this https://github.com/spatie/laravel-query-builder
  • Add primitive transformers
  • Add config & allow ID to be added to model resource
  • Write more tests
  • Allow for authentication using only JWT, with middleware (for high speed requests)
  • Bulk delete
  • Bulk put/post
  • Abstract all string text into language files
  • Logging of API requests using middleware

Done

Version 1 ✔️

  • Various improvements in the works
  • Refactoring to improve structure
  • Low hanging fruit
  • More functionality
  • Especially PUT implementation
  • Add extensive automated testing (in dependency package)

Version 1.1 ✔️

  • Support for Laravel 6 (alongside 5.8)

Version 2 ✔️

  • Support for Laravel 7