A set of useful components for Laravel that can be shared across projects.
Currently requires the use of PostgreSQL for several of the components. Will probably add MySQL support and maybe others in the future.
You can add this to a project by using a custom repository in your composer.json
:
"repositories": [
{
"type": "vcs",
"url": "https://projects.buckii.com/source/buckii-larakit.git"
}
]
And then adding "buckii/larakit": "dev-master"
to the require
section. Files
are PSR-4 loaded into the \Buckii\Larakit
namespace.
Next you'll want to add \Buckii\Larakit\LarakitProvider::class
to your app's
service providers in config/app.php
.
There are no "stable" releases yet, so you'll have to track dev-master
.
Might even make a Satis repo for it
eventually.
There is some limited automated testing included. Several of the tests require a PostgreSQL database in order to run. A composer command to start and stop a configured docker container is included, make sure you have docker installed in order to use it. The process for running tests looks like this:
composer install
composer start-db
composer test
composer stop-db
More comprehensive automated testing of the various components is in progress.
Simple model for storing and interacting with US addresses. Probably will
expand to international addresses eventually. You will need to create a
migration (use migration/create_addresses_table.php
as a template) and add a
Model to your app that extends the Buckii\Larakit\Models\Address
class.
A generalized way of storing files related to database
objects. You will need to create a table, documents
, and
can use migrations/create_documents_table.php
as a guide.
Then simply add a model to your app that extends the
Buckii\Larakit\Models\Document
class.
Simple way to add error reporting to the database. Create an errors
table
using the migration provided as a base, then make sure your
Exceptions\Handler
class extends Buckii\Larakit\Exceptions\Handler
instead
of the default.
Allows for idempotent database seeds. See the class documentation for usage and more details.
- Testing, this is a big one. (In progress)
- Integrate Laravel Form Builder.
- Partially complete, need to add additional custom field types.
- Method to install each optional component individually.
- Maybe register some artisan commands like
larakit:install --component=documents
.
- Maybe register some artisan commands like
- Generic CRUD controller for simple models/scaffolding.
- This will probably end up being a collection of components such as
StoreResourceRequest
andUpdateResourceRequest
.
- This will probably end up being a collection of components such as
- Front end integration
- Probably based on an additional NPM dependency.