Laravel 7+ Content management framework

Overview

Sharp

Sharp is not a CMS: it's a content management framework, a toolset which provides help to build a CMS section in a website, with some rules in mind:

  • the public website should not have any knowledge of the CMS — the CMS is a part of the system, not the center of it. In fact, removing the CMS should not have any effect on the project.
  • The CMS should not have any expectations from the persistence layer: MySQL is cool, but it's not the perfect tool for every problem. And more important, the DB structure has nothing to do with the CMS.
  • Content administrators should work with their data and terminology, not CMS terms. I mean, if the project is about spaceships, space travels and pilots, why would the CMS talk about articles, categories and tags?
  • website developers should not have to work on the front-end development for the CMS. Yeah. Because life is complicated enough, Sharp takes care of all the responsive / CSS / JS stuff.

Sharp intends to provide a clean solution to the following needs:

  • create, update or delete any structured data of the project, handling validation and errors;
  • display, search, sort or filter data;
  • execute custom commands on one instance, a selection or all instances;
  • handle authorizations and validation;
  • all without write a line of front code, and using a clean API in the PHP app.

Sharp needs Laravel 7+ and PHP 7.4.0+.

Documentation

The full documentation is available here: sharp.code16.fr/docs.

Online example

A Sharp instance for a dummy demo project is online here: sharp.code16.fr/sharp/. Use these accounts to login:

Data of this demo is reset each hour.

Additional resources

See the Sharp section of the Code 16 Medium account: https://medium.com/code16/tagged/sharp

Comments
  • Data disappear when submitted form

    Data disappear when submitted form

    Hello,

    I have a really strange behaviour, before all I am on Laravel 5.8.36 and sharp 4.2.2 For the following form, everything is fine at display. If I submit the form without selecting a picture I've got the correct value ind data (which is null anyway) but when I select a pic and submit the form data is then empty... by digging in the sharp form class I found that the issue seems to appear in the formatRequestData method, everything is ok in input but nothing in output.

    My models are a bit tricky with many relationships, maybe it's because of that, anyway I'm stuck...

    This is the form :

    
    namespace App\Sharp;
    
    use App\Models\Page;
    use App\Models\PageBlock;
    use App\Enums\PageBlocksTypes;
    use Code16\Sharp\Form\SharpForm;
    use Code16\Sharp\Http\WithSharpContext;
    use Code16\Sharp\Form\Layout\FormLayoutColumn;
    use Code16\Sharp\Form\Fields\SharpFormTextField;
    use Code16\Sharp\Form\Fields\SharpFormUploadField;
    use Code16\Sharp\Form\Fields\SharpFormMarkdownField;
    use App\Models\PageBlocks\PageBlocksTextBlueRoundedTop;
    use Code16\Sharp\Form\Eloquent\WithSharpFormEloquentUpdater;
    
    class BlockTextBlueRoundedTopSharpForm extends SharpForm
    {
        use WithSharpFormEloquentUpdater, WithSharpContext;
        
        /**
         * Retrieve a Model for the form and pack all its data as JSON.
         *
         * @param $id
         * @return array
         */
        public function find($id): array
        {
            return $this
                    ->setCustomTransformer("blockable[topstamp]",
                        new FormUploadModelTransformer()
                    )
                    ->transform(
                        PageBlock::with('blockable', 'blockable[topstamp]')->findOrFail($id)
                    );
        }
    
        /**
         * @param $id
         * @param array $data
         * @return mixed the instance id
         */
        public function update($id, array $data)
        {
            dd($data);
            
            /// save stuff
            
            return $pageBlock->id;
        }
    
        /**
         * @param $id
         */
        public function delete($id)
        {
            //
        }
    
        /**
         * Build form fields using ->addField()
         *
         * @return void
         */
        public function buildFormFields()
        {
            $this
                ->addField(
                    SharpFormUploadField::make("topstamp")
                                ->setLabel("Tampon au dessus")
                                ->setStorageDisk("public")
                                ->setStorageBasePath("blocks/Stamps/{id}")
                );
        }
    
        /**
         * Build form layout using ->addTab() or ->addColumn()
         *
         * @return void
         */
        public function buildFormLayout()
        {
            $this->addColumn(12, function(FormLayoutColumn $column) {
                $column
                    ->withSingleField('topstamp');
            });
        }
    }
    
    opened by jefffairson 9
  • Custom form field

    Custom form field

    Hello, im trying to do a two custom form fields for categories and subcategories in which one of them depends on the other. Im doing this with axios and get method, all fine but when i select the value on the second select the array of values disappear until i select a new subcategory.

    Explanation in gif

    This is my code:

    SharpFormSelectCategoriesField.vue

    <template>
      <div>
        <select class="SharpText multiselect" @change="handleChanged" :value="categoriaSeleccionada">
          <option v-for="(categoria, index) in categorias" 
          :key="`categoria-${index}`" 
          :value="`${index}`">
          {{categoria}}
          </option>
        </select>
      </div>
    </template>
    <script>
    import { EventBus } from '../sharp-plugin.js';
    export default {
      props: {
        categorias: Array,
        categoriaSeleccionada: String
      },
      mounted() {
          EventBus.$emit("categoria", this.categoriaSeleccionada);
      },
      methods: {
        handleChanged(e) {
          this.$emit("input", e.target.value);
          EventBus.$emit("categoria", e.target.value);
        }
      }
    };
    </script>
    

    SharpFormSelectSubcategoryField.vue

    <template>
      <div>
        <select class="SharpText multiselect" @change="handleChanged" :value="subcategoriaSeleccionada">
          <option v-for="(subcategoria, index) in subcategorias" 
          :value="`${index}`" 
          :key="`subcategoria-${index}`">
          {{subcategoria}}
          </option>
        </select>
      </div>
    </template>
    <script>
    import { EventBus } from '../sharp-plugin.js';
    window.axios = require('axios');
    export default {
      props: {
        subcategorias: Array,
        subcategoriaSeleccionada: String
      },
      created () {
        EventBus.$on('categoria', idCategoria => {
          console.log(`Categoria: ${idCategoria}`);
          axios.get(`http://test.mtkadventure/api/subcategorias/${idCategoria}`)
          .then(response => (this.subcategorias = response.data));
        });
      },
      methods: {
        handleChanged(e) {
          this.$emit("input", e.target.value);
          console.log(this.subcategorias);
        }
      }
    };
    </script>
    

    If i comment the this.$emit("input", e.target.value); on the subcategory select this not happens, but the form data cannot be updated. Is this a bug or i need a break? Is there a better way to achive this?

    Thanks in advance and excuse me if im being so tedioud but i really like Sharp and want to dominate it.

    opened by rokkay 8
  • Thumbnail path wrong

    Thumbnail path wrong

    Hi,

    Since this commit https://github.com/code16/sharp/commit/2f8140d924e5bd0fd26d98a59b1366c72bb6f57c all thumbnail urls have stopped working.

    The issue seems to be that the images were previously stored in the public directory public/thumbnails/... and so were served without any problems. Now they are stored under storage/public/thumbnails/.... I do have the symlink set up to map storage/public/ to public/storage/ so if I add "storage" to the url it loads the image but the url returned from the thumbnail method doesn't contain it so the image isn't loaded.

    e.g URL returned from the thumbnail method that 404s: http://laravel.test/thumbnails/images/300-300/image.jpeg

    URL with "storage" added that works: http://laravel.test/storage/thumbnails/images/300-300/image.jpeg

    How are you handling this in your projects? Is there a new step missing from the readme?

    Thanks

    opened by oddvalue 8
  • Needs better navigation solution

    Needs better navigation solution

    For example we have the Post entity; Post hasMany comments Post has Many user rates

    We can create CommentEntityList and PostRate entityList with default filter by post_id and show post-related lists. we don't show this lists in menu, because its not independent. And there is only one way to create links between Posts and related staff - it is create actions like "show post comments", "show user rates" for post, and "go to post" for sub-entities. And it is not comfortable solution, because in action menu mixed view/navigation links and true action commands. Action list can be very large for rich entities like an user, post, product. Also we hasn't opportunity for breadcrumbs building

    Other case - that is for some entities only one list is not enough. Some times we need to show lists with different grouped items, or with different columns

    opened by Insolita 8
  • Custom assets may be injected by defining their paths in the config

    Custom assets may be injected by defining their paths in the config

    Hi,

    Requirement

    I required the ability to add custom assets to the base layout

    Notes

    • I appreciate this functionality could cover a broad scope, I opted for a simple implementation to start with
    • I wasn't sure whether the documentation should live in the place that i've put it, open to suggestions
    • I wasn't sure whether there would be implications with including the view composer in all views
    • I wasn't sure what the best location for a test would be
    • The current test doesn't cover injecting assets using the Laravel asset() or mix() functions, as I felt attempting to mock those may make the tests lengthy and obsolete when they're a core part of the framework

    Feedback appreciated!

    opened by mdcass 8
  • SharpEntityList: align right not work for addColumnLarge

    SharpEntityList: align right not work for addColumnLarge

    in buildLidtLayout() ->addColumnLarge('coin_value', 1)

    in getListData() ->setCustomTransformer('coin_value', function($value, $row) { $value = number_format(round($row['coin_value'], 2), 2, '.', ''); return '<div style="text-align:right">'.$value.'</div>'; })

    opened by anigroSIS 7
  • Interface 'Code16\Sharp\EntityList\EntityListSelectFilter' not found

    Interface 'Code16\Sharp\EntityList\EntityListSelectFilter' not found

    Hi,

    I followed instruction here https://sharp.code16.fr/docs/guide/filters.html#generator

    But I got an error Interface 'Code16\Sharp\EntityList\EntityListSelectFilter' not found What should I do to fix this?

    Thanks

    opened by mukhsin 7
  • [Feature]What would be currently the sharp way of creating an own admin page with own components ?

    [Feature]What would be currently the sharp way of creating an own admin page with own components ?

    Hey Philippe,

    I am a user of sharp and really like the balance between freedom and standardized ways of creating forms, lists and so on. I have one requirement where I'd like to build a really special page within in the admin environment. I need to include multiple heavily customized Vue Components (i.e. horizontally scrollable calendar) which need a high amount of screen space. Thats why the menu needs to be collapsed by default when accessing that admin page. Currently my plan is to create a custom page (creating a class like the the Form, List, Show) which gives a higher amount of freedom to include components then.

    I just want to check what would be your approach and do plan to have a type of page which is even more customizable in addition to the currently standardized ones?

    Best regards, Jan

    opened by ewatch 7
  • 404 code on /vendor/sharp/lang.js

    404 code on /vendor/sharp/lang.js

    I'm getting a 404 error code in a standard nginx + php-fpm configuration. The file still gets generated and served, but since the error code is 404 it fails to execute. I'm having trouble figuring out an exact nginx config snippet to suppress this error code, so any help would be appreciated.

    Here is my nginx.conf:

    worker_processes auto;
    worker_rlimit_nofile 65535;
    
    events {
    	multi_accept on;
    	worker_connections 65535;
    }
    
    http {
    	charset utf-8;
    	sendfile on;
    	tcp_nopush on;
    	tcp_nodelay on;
    	server_tokens off;
    	log_not_found off;
    	types_hash_max_size 2048;
    	client_max_body_size 16M;
    
    	# MIME
    	include mime.types;
    	default_type application/octet-stream;
    
    	# logging
    	access_log /dev/stdout;
    	error_log /dev/stdout warn;
    
        server {
        	listen 80;
        	listen [::]:80;
    
        	set $base /var/www/html/public;
        	root $base;
    
        	# index.php
        	index index.php index.html;
    
        	# index.php fallback
        	location / {
                try_files $uri $uri/ /index.php?$query_string;
            }
    
        	# handle .php
        	location ~ \.php$ {
        	    # 404
                try_files $fastcgi_script_name =404;
    
        		# default fastcgi_params
                include fastcgi_params;
    
                # fastcgi settings
                fastcgi_pass			php-fpm:9000;
                fastcgi_index			index.php;
                fastcgi_buffers			8 16k;
                fastcgi_buffer_size		32k;
    
                # fastcgi params
                fastcgi_param DOCUMENT_ROOT		$realpath_root;
                fastcgi_param SCRIPT_FILENAME	$realpath_root$fastcgi_script_name;
        	}
    
        	# additional config
        	# favicon.ico
            location = /favicon.ico {
            	log_not_found off;
            	access_log off;
            }
    
            # robots.txt
            location = /robots.txt {
            	log_not_found off;
            	access_log off;
            }
    
            # assets, media
            location ~* \.(?:css(\.map)?|js(\.map)?|jpe?g|png|gif|ico|cur|heic|webp|tiff?|mp3|m4a|aac|ogg|midi?|wav|mp4|mov|webm|mpe?g|avi|ogv|flv|wmv)$ {
            	expires 7d;
            	access_log off;
            }
    
            # svg, fonts
            location ~* \.(?:svgz?|ttf|ttc|otf|eot|woff2?)$ {
            	add_header Access-Control-Allow-Origin "*";
            	expires 7d;
            	access_log off;
            }
    
            # gzip
            gzip on;
            gzip_vary on;
            gzip_proxied any;
            gzip_comp_level 6;
            gzip_types text/plain text/css text/xml application/json application/javascript application/rss+xml application/atom+xml image/svg+xml;
    
            error_page 404 /index.php;
        }
    }
    
    opened by panda-madness 7
  • Support for adding and removing related items

    Support for adding and removing related items

    Hey, thanks for open sourcing Sharp! I'm trying to figure out how to work with models that have hasMany relationships. I'm trying to create a screen for managing roles and users assigned to those roles but I can't figure out how something like that would best be accomplished and not shoehorn the framework to do something it can't.

    I have spatie/laravel-permissions installed and I'm trying to list all permissions and make them selectable, using a list or autocomplete field for this would be a nightmare, so I've listed all permissions but can't map them as existing or not. Ive tried solving this with a transform in find but it feels very hacky and doesn't show as toggled on the screen.

            $this->setCustomTransformer('permissions', function($rolePermissions) {
                $permissions = array_column(Permission::all()->toArray(), 'name');
                $permissions = array_fill_keys($permissions, false);
                
                foreach ($rolePermissions as $permission) {
                    $permissions[$permission['name']] = true;
                }
    
                return $permissions;
            });
    

    Screenshot_2019-07-25 Handball sample, Roles Sharp 4 1 16(1)

    For the second tab I've chosen to implement it with a list and autocomplete field but can't get it to display properly either, but I think that might be an error on my part somewhere.

    To me it seems like there is no planned means of working with this kind of relationship which isn't about changing a value but adding or removing items. Am I completely blind reading the documentation or is there no way of working with data set up with this kind of relationships?

    opened by nsrosenqvist 7
  • Support images in wysiwyg editor

    Support images in wysiwyg editor

    Is there any plan to support images in the wysiwyg editor? I see that I can drag and drop images in the editor, but when I save it does nothing. So im assuming the code to handle the drag and drop event is not setup?

    enhancement 
    opened by trister1997 7
  • Full dynamic configuration

    Full dynamic configuration

    Hello again,

    I've got a project which share the same code base for 2 different clients that I can set in my env file. They have access to different entities lists so I wondered if I could load sharp config dynamically for each one ? I tried this which is working, but I wondered if you got something cleaner ?

    if (config('platform')=== "LOLILOL") {
        $entities = [
            "particulier" => \App\Sharp\Entities\Particulier::class,
            "professionnel" => \App\Sharp\Entities\Professionnel::class,
        ];
    }
    return [
      'entities' => $entities,
    ];
    
    opened by jefffairson 2
  • Dynamic Vite generated CSS import

    Dynamic Vite generated CSS import

    Hello there,

    For a project, I build my assets with Vite. In the config I can place my file which is great, but I have en error building config if I do this :

    $specificSharpAsset = (new Vite())->asset('resources/sass/sharp.scss');
    return [
      "extensions" => [
            "assets" => [
                "strategy" => "asset",
                "head" => [
                    $specificSharpAsset,
                ],
            ]
        ],
    ];
    

    When digging to find a solution, I found out that it's the asset function that's causing the issue. Have you got a clean solution which can suits my needs ?

    opened by jefffairson 0
  • Upload files to not a local disk

    Upload files to not a local disk

    I ran into a problem when trying to save files to s3. Through research I found that here https://github.com/code16/sharp/blob/main/src/Form/Fields/Formatters/UploadFormatter.php#L71. You have hardcoded the value "local" instead of use value from $ field->storageDisk()

    opened by Petrov-Dmitry 4
  • SharpShowEntityTextField

    SharpShowEntityTextField

    In my case, I need to link two resources. The following code represents the owner name of the current showing server.

    // Before
    SharpShowTextField::make('user:name')
        ->setLabel('Owner')
    
    // After - represent link to user show entity
    SharpShowEntityTextField::make('user:name', 'user')
        ->setLabel('Owner')
    

    I think that is a good feature, and I go work on it, probably this weekend.

    opened by hichxm 2
Releases(v7.23.2)
  • v7.23.2(Jan 2, 2023)

  • v7.23.1(Dec 1, 2022)

  • v7.23.0(Nov 29, 2022)

  • v7.22.0(Nov 23, 2022)

    Bug fixes

    • Prevent adding rel="noopener noreferrer nofollow" and target="_blank" to links inserted in editor (HTML mode). If you were relying on theses attributes, you should add those either before saving in DB or in front side.

    Improvements

    • Prevent refreshing the Dashboard or Entity list on each key press in Date filter.
    Source code(tar.gz)
    Source code(zip)
  • v7.21.0(Nov 14, 2022)

  • v7.20.0(Oct 31, 2022)

    Features

    • Improve Show Page UI: sticky entity list menu, display page title in header on scroll. (#444)

    Bug fixes

    • Hide list sort handle if not needed
    Source code(tar.gz)
    Source code(zip)
  • v7.19.1(Oct 27, 2022)

  • v7.19.0(Oct 21, 2022)

  • v7.18.0(Oct 7, 2022)

    Features

    • List field: Add drag handle on the left of each item (https://github.com/code16/sharp/pull/441)
    • Show page: Allow to add a title to the page with configurePageTitleAttribute() (docs, demo)
    Source code(tar.gz)
    Source code(zip)
  • v7.17.3(Sep 30, 2022)

    Bug fixes

    • Normalize date string sent to front when date not coming from a model

    Warning For time only date fields : If you were relying on date validation rule, you must replace it with date_format:H:i.

    Source code(tar.gz)
    Source code(zip)
  • v7.17.2(Sep 23, 2022)

  • v7.17.1(Sep 22, 2022)

  • v7.17.0(Sep 16, 2022)

  • v7.16.0(Sep 15, 2022)

  • v7.15.0(Sep 2, 2022)

  • v7.14.0(Aug 30, 2022)

    Features

    • Allow editor embeds without attributes
    • Allow float numbers in number input
    • Add new upload.transform_keep_original_image (see doc)

    Bug fixes

    • Fix JSON when command separator is put at first position
    • Fix some iframe invalid style
    • Fix getEntityMenuLabel() type signature (#427)
    • Date: Set hours/minutes/seconds to 0 when hasTime is false (#334)

    Improvements

    • Update to [email protected]
    • Change addEntityListSection signature (with backward compatibility) for easier access to collapsable feature, see #382
    Source code(tar.gz)
    Source code(zip)
  • v7.13.0(Aug 16, 2022)

    Bug fixes

    • Prevent pasting formatted HTML when toolbar is hidden
    • Fix page not reloaded after 401/419 alert
    • Prevent removing file when dropping text on upload
    • Fix dashboard chart growing on changing filters
    • Fix UTF-8 encoding in editor field (https://github.com/code16/sharp/pull/435, thanks to @marcinlawnik)

    Improvements

    • Improve upload edit modal to be full height + with more controls (zoom, move)
    • Improve editor iframe with a custom modal
    Source code(tar.gz)
    Source code(zip)
  • v7.12.0(Aug 3, 2022)

  • v7.11.0(Jul 5, 2022)

    Bug fixes

    • In some cases when <x-sharp-content> have a <div> children, the content isn't parsed and components not rendered. This releases remove the ability to wrap the content around a <div> (which was an undocumented behavior)
    • Ensure <p> not pasted when editor field has withoutParagraphs() option
    Source code(tar.gz)
    Source code(zip)
  • v7.10.0(Apr 29, 2022)

    Features

    • Editor: Allow embed special "slot" field to put HTML directly as tag content.

    Improvements

    • Editor: do not add null embed attributes
    Source code(tar.gz)
    Source code(zip)
  • v7.9.0(Apr 27, 2022)

  • v7.8.0(Apr 8, 2022)

  • v7.7.0(Mar 25, 2022)

  • v7.6.0(Mar 23, 2022)

    Features

    • added a configureDeleteConfirmation() method on forms to allow a custom confirmation message before delete (see doc)

    Fixes

    • fixed bad example in filter doc (https://github.com/code16/sharp/pull/417) thanks @BramEsposito
    • improved UI: the logout link is now a dropdown (for clarity)
    Source code(tar.gz)
    Source code(zip)
  • v7.5.1(Mar 17, 2022)

  • v7.5.0(Mar 16, 2022)

    New features

    • CODE_BLOCK was added to the Editor form field (multiline code)
    • Form tabs are now updating the querystring (to restore state on reload)

    Fixes

    • Ensure we do not check view, update and delete policies in create case as this could lead to unexpected errors in the functional code (https://github.com/code16/sharp/commit/c6cf8d33ccf90ab75f863c760985bd806802cf09)
    Source code(tar.gz)
    Source code(zip)
  • v7.4.0(Mar 11, 2022)

    New features

    • 🧙 Wizard commands! (see doc)
    • ⚠️ Page Alerts are now available in Dashboards (see doc)
    • 🎏 Show pages can display a locale selector (similar to Forms), and have localized text fields (see doc)
    • 🔢 SharpShowEntityListField::showCount() method added, to display total count of an embedded Entity List (see doc)

    Fixes

    • Entity list rows are now aligned vertically (again)
    • DateRange filters are smaller when empty
    • Change state modal select was sometimes nonreactive
    Source code(tar.gz)
    Source code(zip)
  • v7.3.0(Mar 8, 2022)

  • v7.2.0(Mar 1, 2022)

    Fixes

    • Force formatters of localized text fields to add missing locales to null (https://github.com/code16/sharp/commit/2166830dbc12a0ac4e8f5450a89744692c769270)
    • Handle global null value for localized text fields (https://github.com/code16/sharp/commit/9b3a142b99b71bbbe993d96eae1ab5448f7caeef)
    • multiple doc / migration guide fixes (thanks @smknstd)
    • avoid thumbnail creation to crash with missing /corrupted data (https://github.com/code16/sharp/commit/5ce4ce4c13e58e60fce2e5a6f547ad3e6d808e43)

    Features

    • Allow @props() in File and Image blade components
    Source code(tar.gz)
    Source code(zip)
  • v7.1.0(Feb 21, 2022)

    What's Changed

    • Handle Laravel 9 in https://github.com/code16/sharp/pull/374

    Full Changelog: https://github.com/code16/sharp/compare/v7.0.2...v7.1.0

    Source code(tar.gz)
    Source code(zip)
Owner
CODE 16
Laravel and Vue.js custom development
CODE 16
LaraAdmin is a Open source Laravel Admin Panel / CMS which can be used as Admin Backend, Data Management Tool or CRM boilerplate for Laravel with features like Advanced CRUD Generation, Module Manager, Backups and many more.

LaraAdmin 1.0 LaraAdmin is a Open source CRM for quick-start Admin based applications with features like Advanced CRUD Generation, Schema Manager and

Dwij IT Solutions 1.5k Dec 29, 2022
Building Student Management CRUD with LARAVEL VUE and INERTIA

Building Student Management CRUD with LARAVEL VUE and INERTIA. the amazing thing about I got by combining these technologies is we ca build single page application or SPA .

Tauseed 3 Apr 4, 2022
A Event Management system - EMS build with Laravel and Vuejs

Event Management system - EMS A Event Management system - EMS build with Laravel and Vuejs Both FE & BE project folders has own README.md files for in

hassan 5 Jul 21, 2022
Hydra is a zero-config API boilerplate with Laravel Sanctum that comes with excellent user and role management API out of the box

Hydra - Zero Config API Boilerplate with Laravel Sanctum Hydra is a zero-config API boilerplate with Laravel Sanctum and comes with excellent user and

Hasin Hayder 858 Dec 24, 2022
This is the web Application for Event Management

Web-Application This is the web Application for Event Management Abstract: In the Past the registration to the event is like Standing in the queue pay

Maddukuri Nivas 1 Oct 14, 2021
Users Management for extension user.

Template for Yii Packages Installation composer require <vendor/your-packages> Unit testing The package is tested with PHPUnit. To run tests: ./vendor

null 1 Nov 24, 2021
Pterodactyl is an open-source game server management panel built with PHP 7, React, and Go

Pterodactyl Panel Pterodactyl is an open-source game server management panel built with PHP 7, React, and Go. Designed with security in mind, Pterodac

Pterodactyl 4.5k Dec 31, 2022
PHP Framework for building scalable API's on top of Laravel.

Apiato Build scalable API's faster | With PHP 7.2.5 and Laravel 7.0 Apiato is a framework for building scalable and testable API-Centric Applications

Apiato 2.8k Dec 29, 2022
PHP Framework for building scalable API's on top of Laravel.

Apiato Build scalable API's faster | With PHP 7.2.5 and Laravel 7.0 Apiato is a framework for building scalable and testable API-Centric Applications

Apiato 2.8k Dec 31, 2022
Base Laravel framework with a simple admin site/dashboard

Base Laravel Admin Just a basic Laravel 4.1 install with a admin site/dashboard using Bootstrap 3.0.3 For those (like me) who set up lots of small sys

Alex Dover 1 Nov 6, 2015
LaraLTE2, Laravel PHP Framework with AdminLTE2

LaraLTE2 Laravel PHP Framework with AdminLTE2 Whenever I start a new Laravel project, I do the same thing; Install packages, download Javascript plugi

Kouceyla 25 Nov 18, 2020
Berikut Adalah cara untuk melakukan CRUD di FrameWork Laravel, Silahkan Disimak

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

LilKhoo 1 Oct 23, 2021
A simple starter kit for using TypedCMS with the Laravel framework.

TypedCMS Starter Kit for Laravel Our stater kits are tailored solutions for each platform, unlike the simple API wrappers offered by other vendors. Th

TypedCMS 1 Nov 20, 2021
Laravel Framework 5 Bootstrap 3 Starter Site is a basic application with news, photo and video galeries.

Laravel Framework 5.1 Bootstrap 3 Starter Site Starter Site based on on Laravel 5.1 and Boostrap 3 Features Requirements How to install Application St

null 900 Dec 22, 2022
Exemplary RealWorld backend API built with Laravel PHP framework.

Example of a PHP-based Laravel application containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the RealWorld API spec.

Yury 66 Dec 31, 2022
An implementation of Solder in Laravel's Lumen Framework.

LumenSolder What is LumenSolder? An implementation of Solder in Laravel's Lumen Framework. LumenSolder is an application to help compliment and scale

Technic Pack 3 Sep 16, 2020
Allows to connect your `Laravel` Framework translation files with `Vue`.

Laravel Vue i18n laravel-vue-i18n is a Vue3 plugin that allows to connect your Laravel Framework JSON translation files with Vue. It uses the same log

Francisco Madeira 361 Jan 9, 2023
A Web Artisan list of categorized OPEN SOURCE PROJECTS built with Laravel PHP Framework.

Laravel-Open-Source-Projects A Web Artisan list of categorized OPEN SOURCE PROJECTS built with Laravel PHP Framework. This repository includes a compr

Goodness Toluwanimi Kayode 833 Dec 26, 2022
Laravel framework with integrated NuxtJs support, preconfigured for eslint, jest and vuetify.

Laravel framework with integrated NuxtJs support, preconfigured for eslint, jest and vuetify.

M² software development 53 Oct 24, 2022