Skip to content

Commit

Permalink
REboot!
Browse files Browse the repository at this point in the history
  • Loading branch information
ryanscherler committed Sep 14, 2020
1 parent 12ccb87 commit 39b017f
Show file tree
Hide file tree
Showing 163 changed files with 313 additions and 13,500 deletions.
15 changes: 15 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 4
trim_trailing_whitespace = true

[*.md]
trim_trailing_whitespace = false

[*.{yml,yaml}]
indent_size = 2
14 changes: 4 additions & 10 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,4 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules

# system
.DS_Store

# debug
npm-debug.log*
/vendor
composer.lock
/phpunit.xml
.phpunit.result.cache
6 changes: 0 additions & 6 deletions .prettierrc

This file was deleted.

12 changes: 6 additions & 6 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License
The MIT License (MIT)

Copyright (c) 2020 East Slope Studio LLC
Copyright (c) Ryan Scherler

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand All @@ -9,13 +9,13 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
97 changes: 7 additions & 90 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,96 +1,13 @@
> **PLEASE NOTE: This Repo is going to be making some considerable changes** Future _2.x_ versions will be developed as an add-on resource for extending **[Laravel Jetstream](https://jetstream.laravel.com)** (a first-party application scaffolding for Laravel).
# Filament

![Filament User Listing Screenshot](https://raw.githubusercontent.com/laravel-filament/filament/master/resources/images/screenshots/edit-user-darkmode.jpg)
Extend Laravel Jetstream with Filament.

## Filament
## Features

A lightweight admin for your Laravel app.
### User management

### Notes
- [ ] Register new users from within Jetstream.

#### Keep it Minimal
#### Permissions

The theme of this admin is "Light and Fast" – just enough to get you started and creating your next project – keeping setup to a minimum with hardly any changes to the default Laravel app. Let's use as little Javascript as possible by adhereing to using [Livewire](https://laravel-livewire.com) as much as possible (using [Alpine JS](https://github.com/alpinejs/alpine) when absolutely needed and use [Spruce](https://github.com/ryangjchandler/spruce) for some simple state management between front-end components when absolutely necessary).

#### Roadmap

> **Note**: If you're looking for an application boilerplate that supports the TALL stack, you should check out [Laravel Jetstream](https://github.com/laravel/jetstream). It comes with authentication scaffolding, account management, teams support.
<strike>
> This is more of a proposed feature list then a solid roadmap. I am _totally open_ to new ideas, with the overall goal of keeping this core package pretty minimal allowing total customization via your main Laravel app / additional add-on packages.
- Setup tests (via [Testbench Component](https://github.com/orchestral/testbench)) and start creating them for existing features.
- _I'm going to be very honest here, I don't know much about testing within a package, so this will be completely new to me and I would really appreciate some help on getting things setup for best practices etc._
- [] <strike>Update the `User` model to implement [laravel-metable](https://github.com/plank/laravel-metable), allowing the addition of custom meta fields in a pretty flexible way beyond the core required schema.</strike>
- Create new `Globals` feature for managing arbitrary app data.
- Entirely composed of [laravel-metable](https://github.com/plank/laravel-metable)
- Create new `Resources` feature. Allowing a user to create a generic resource with schemaless attributes managed by custom fields.
- Implement [laravel-metable](https://github.com/plank/laravel-metable) in this feature as well, as it would allow the addition of custom meta fields in a pretty flexible way beyond the core required schema.
- Create a `GraphQL` API using [Lighthouse](https://github.com/nuwave/lighthouse) and corresponding admin section (likely using [GraphiQL](https://github.com/graphql/graphiql)) for previewing the API. _This one is pretty opinionated_ and needs to be in the core (our team at [East Slope Studio](https://eastslope.studio) uses it extensively for our decoupled front-end web and app development projects (built with Eleventy, React, React Native etc.).
</strike>

---

## Installation

This package can be used with `Laravel 7.x` or higher.

> The following instructions assume a new installation of Laravel with database and mail setup.
```bash
composer require filament/filament dev-master
php artisan migrate
php artisan vendor:publish --tag=filament-seeds
composer dump-autoload
php artisan db:seed --class=FilamentSeeder
```

## Filament User

Before you can use Filament, you must add the necessary `Filament\Traits\FilamentUser` trait to your `App\User` model.

Example:

```php
<?php

namespace App;

use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Filament\Traits\FilamentUser;

class User extends Authenticatable
{
use Notifiable;
use FilamentUser;

// ...
}
```

### Create a user

```bash
php artisan filament:user
```

## Create a fieldset

> This feature will eventually allow you to create a fieldset (either core schema fields, or schemaless meta-fields) in your own app for `Users`, `Globals` and `Resources`. More documentation to come as these features are added to the core package.
```bash
php artisan filament:fieldset {name} {--package}
```

---

### Screenshots

- [Login](https://raw.githubusercontent.com/laravel-filament/filament/master/resources/images/screenshots/login-darkmode.jpg)
- [Users](https://raw.githubusercontent.com/laravel-filament/filament/master/resources/images/screenshots/users-lightmode.jpg)
- [Edit user](https://raw.githubusercontent.com/laravel-filament/filament/master/resources/images/screenshots/edit-user-darkmode.jpg)
- [Roles](https://raw.githubusercontent.com/laravel-filament/filament/master/resources/images/screenshots/roles-darkmode.jpg)
- [Permissions](https://raw.githubusercontent.com/laravel-filament/filament/master/resources/images/screenshots/permissions-darkmode.jpg)
- [Edit permission](https://raw.githubusercontent.com/laravel-filament/filament/master/resources/images/screenshots/edit-permission-darkmode.jpg)
- [ ] User permissions not bound to teams for more granular access control.
94 changes: 36 additions & 58 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,59 +1,37 @@
{
"name": "filament/filament",
"description": "A lightweight admin package to jumpstart your Laravel app.",
"keywords": [
"laravel",
"admin",
"tailwindcss",
"tailwindui",
"alpine.js"
],
"homepage": "https://github.com/eastslopestudio/filament",
"license": "MIT",
"authors": [
{
"name": "Ryan Scherler",
"email": "[email protected]",
"homepage": "https://eastslope.studio",
"role": "Developer"
}
],
"require": {
"php": "^7.4",
"appstract/laravel-blade-directives": "^1.9",
"doctrine/dbal": "^2.10",
"driesvints/blade-icons": "^2.2",
"graham-campbell/markdown": "^12.0",
"filament/field-file": "dev-master",
"plank/laravel-metable": "^2.1",
"laravel/ui": "^2.0",
"league/glide-laravel": "^1.0",
"livewire/livewire": "^2.0",
"nicolaslopezj/searchable": "^1.0",
"spatie/laravel-permission": "^3.12",
"thomaswelton/laravel-gravatar": "^1.2",
"watson/active": "^5.0"
},
"autoload": {
"psr-4": {
"Filament\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Filament\\Tests\\": "tests/"
}
},
"extra": {
"laravel": {
"providers": [
"Filament\\FilamentServiceProvider"
],
"aliases": {
"Filament": "Filament\\FilamentFacade"
}
}
},
"minimum-stability": "dev",
"prefer-stable": true
}
"name": "filament/filament",
"description": "Extend Laravel Jetstream with Filament.",
"keywords": ["laravel", "laravel-jetstream", "tailwind", "livewire"],
"license": "MIT",
"require": {
"laravel/jetstream": "^1.1",
"livewire/livewire": "^2.0"
},
"require-dev": {
"mockery/mockery": "^1.0",
"orchestra/testbench": "^6.0",
"pestphp/pest": "^0.3"
},
"autoload": {
"psr-4": {
"Filament\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Filament\\Tests\\": "tests/"
}
},
"extra": {
"laravel": {
"providers": [
"Filament\\FilamentServiceProvider"
]
}
},
"scripts": {
"test": "./vendor/bin/pest"
},
"minimum-stability": "dev",
"prefer-stable": true
}
Loading

0 comments on commit 39b017f

Please sign in to comment.