Coder Social home page Coder Social logo

neiluj / api-vue-boilerplate Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 3.0 3.01 MB

[WiP] Ready-to-dev Symfony4 + API-Platform + VueJS client Application boilerplate

License: MIT License

PHP 12.42% Dockerfile 2.16% JavaScript 9.93% Vue 61.33% Shell 1.76% VCL 2.76% SCSS 8.65% Twig 0.98%
symfony api-platform docker ready-to-use boilerplate-application webpack vuejs

api-vue-boilerplate's Introduction

Hi there ๐Ÿ‘‹

neiluJ's github stats Top Langs

api-vue-boilerplate's People

Contributors

neiluj avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

api-vue-boilerplate's Issues

Some aliases are buggy

Aliases doesn't work properly when arguments should be passed to container...

npm is a good example:

$ . aliases.sh
[api] $ npm run build
Scripts available in my-api-app via `npm run-script`:
  dev-server
    encore dev-server
  dev
    encore dev
  watch
    encore dev --watch
  build
    encore production

Beautify ErrorModal component

  • Display full PHP Stack Trace (see JSON example below)
  • Add CSS to prettify the whole thing
  • (maybe) Load the component only when needed ?
{
   "type":"https:\/\/tools.ietf.org\/html\/rfc2616#section-10",
   "title":"An error occurred",
   "detail":"An exception occurred in driver: could not find driver",
   "trace":[
      {
         "namespace":"",
         "short_class":"",
         "class":"",
         "type":"",
         "function":"",
         "file":"\/var\/www\/html\/vendor\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/Driver\/AbstractPostgreSQLDriver.php",
         "line":99,
         "args":[

         ]
      },
      {
         "namespace":"Doctrine\\DBAL\\Driver",
         "short_class":"AbstractPostgreSQLDriver",
         "class":"Doctrine\\DBAL\\Driver\\AbstractPostgreSQLDriver",
         "type":"-\u003E",
         "function":"convertException",
         "file":"\/var\/www\/html\/vendor\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/DBALException.php",
         "line":184,
         "args":[
            [
               "string",
               "An exception occurred in driver: could not find driver"
            ],
            [
               "object",
               "Doctrine\\DBAL\\Driver\\PDOException"
            ]
         ]
      },
      {
         "namespace":"Doctrine\\DBAL",
         "short_class":"DBALException",
         "class":"Doctrine\\DBAL\\DBALException",
         "type":"::",
         "function":"wrapException",
         "file":"\/var\/www\/html\/vendor\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/DBALException.php",
         "line":169,
         "args":[
            [
               "object",
               "Doctrine\\DBAL\\Driver\\PDOPgSql\\Driver"
            ],
            [
               "object",
               "Doctrine\\DBAL\\Driver\\PDOException"
            ],
            [
               "string",
               "An exception occurred in driver: could not find driver"
            ]
         ]
      },
      {
         "namespace":"Doctrine\\DBAL",
         "short_class":"DBALException",
         "class":"Doctrine\\DBAL\\DBALException",
         "type":"::",
         "function":"driverException",
         "file":"\/var\/www\/html\/vendor\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/Driver\/PDOPgSql\/Driver.php",
         "line":67,
         "args":[
            [
               "object",
               "Doctrine\\DBAL\\Driver\\PDOPgSql\\Driver"
            ],
            [
               "object",
               "Doctrine\\DBAL\\Driver\\PDOException"
            ]
         ]
      },
      {
         "namespace":"Doctrine\\DBAL\\Driver\\PDOPgSql",
         "short_class":"Driver",
         "class":"Doctrine\\DBAL\\Driver\\PDOPgSql\\Driver",
         "type":"-\u003E",
         "function":"connect",
         "file":"\/var\/www\/html\/vendor\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/Connection.php",
         "line":389,
         "args":[
            [
               "array",
               {
                  "driver":[
                     "string",
                     "pdo_pgsql"
                  ],
                  "url":[
                     "string",
                     "postgres:\/\/api-platform:!ChangeMe!@db\/api"
                  ],
                  "host":[
                     "string",
                     "db"
                  ],
                  "port":[
                     "null",
                     null
                  ],
                  "user":[
                     "string",
                     "api-platform"
                  ],
                  "password":[
                     "string",
                     "!ChangeMe!"
                  ],
                  "driverOptions":[
                     "array",
                     [

                     ]
                  ],
                  "serverVersion":[
                     "string",
                     "9.6"
                  ],
                  "defaultTableOptions":[
                     "array",
                     [

                     ]
                  ],
                  "dbname":[
                     "string",
                     "api"
                  ]
               }
            ],
            [
               "string",
               "api-platform"
            ],
            [
               "string",
               "!ChangeMe!"
            ],
            [
               "array",
               [

               ]
            ]
         ]
      },
      {
         "namespace":"Doctrine\\DBAL",
         "short_class":"Connection",
         "class":"Doctrine\\DBAL\\Connection",
         "type":"-\u003E",
         "function":"connect",
         "file":"\/var\/www\/html\/vendor\/doctrine\/dbal\/lib\/Doctrine\/DBAL\/Connection.php",
         "line":921,
         "args":[

         ]
      },
      {
         "namespace":"Doctrine\\DBAL",
         "short_class":"Connection",
         "class":"Doctrine\\DBAL\\Connection",
         "type":"-\u003E",
         "function":"executeQuery",
         "file":"\/var\/www\/html\/vendor\/doctrine\/orm\/lib\/Doctrine\/ORM\/Query\/Exec\/SingleSelectExecutor.php",
         "line":50,
         "args":[
            [
               "string",
               "SELECT DISTINCT g0_.id AS id_0, g0_.id AS id_1 FROM greeting g0_ ORDER BY g0_.id ASC LIMIT 30"
            ],
            [
               "array",
               [

               ]
            ],
            [
               "array",
               [

               ]
            ],
            [
               "null",
               null
            ]
         ]
      },
      {
         "namespace":"Doctrine\\ORM\\Query\\Exec",
         "short_class":"SingleSelectExecutor",
         "class":"Doctrine\\ORM\\Query\\Exec\\SingleSelectExecutor",
         "type":"-\u003E",
         "function":"execute",
         "file":"\/var\/www\/html\/vendor\/doctrine\/orm\/lib\/Doctrine\/ORM\/Query.php",
         "line":334,
         "args":[
            [
               "object",
               "Doctrine\\DBAL\\Connection"
            ],
            [
               "array",
               [

               ]
            ],
            [
               "array",
               [

               ]
            ]
         ]
      },
      {
         "namespace":"Doctrine\\ORM",
         "short_class":"Query",
         "class":"Doctrine\\ORM\\Query",
         "type":"-\u003E",
         "function":"_doExecute",
         "file":"\/var\/www\/html\/vendor\/doctrine\/orm\/lib\/Doctrine\/ORM\/AbstractQuery.php",
         "line":957,
         "args":[

         ]
      },
      {
         "namespace":"Doctrine\\ORM",
         "short_class":"AbstractQuery",
         "class":"Doctrine\\ORM\\AbstractQuery",
         "type":"-\u003E",
         "function":"executeIgnoreQueryCache",
         "file":"\/var\/www\/html\/vendor\/doctrine\/orm\/lib\/Doctrine\/ORM\/AbstractQuery.php",
         "line":912,
         "args":[
            [
               "null",
               null
            ],
            [
               "integer",
               3
            ]
         ]
      },
      {
         "namespace":"Doctrine\\ORM",
         "short_class":"AbstractQuery",
         "class":"Doctrine\\ORM\\AbstractQuery",
         "type":"-\u003E",
         "function":"execute",
         "file":"\/var\/www\/html\/vendor\/doctrine\/orm\/lib\/Doctrine\/ORM\/AbstractQuery.php",
         "line":740,
         "args":[
            [
               "null",
               null
            ],
            [
               "integer",
               3
            ]
         ]
      },
      {
         "namespace":"Doctrine\\ORM",
         "short_class":"AbstractQuery",
         "class":"Doctrine\\ORM\\AbstractQuery",
         "type":"-\u003E",
         "function":"getScalarResult",
         "file":"\/var\/www\/html\/vendor\/doctrine\/orm\/lib\/Doctrine\/ORM\/Tools\/Pagination\/Paginator.php",
         "line":152,
         "args":[

         ]
      },
      {
         "namespace":"Doctrine\\ORM\\Tools\\Pagination",
         "short_class":"Paginator",
         "class":"Doctrine\\ORM\\Tools\\Pagination\\Paginator",
         "type":"-\u003E",
         "function":"getIterator",
         "file":"\/var\/www\/html\/vendor\/api-platform\/core\/src\/Bridge\/Doctrine\/Orm\/AbstractPaginator.php",
         "line":69,
         "args":[

         ]
      },
      {
         "namespace":"ApiPlatform\\Core\\Bridge\\Doctrine\\Orm",
         "short_class":"AbstractPaginator",
         "class":"ApiPlatform\\Core\\Bridge\\Doctrine\\Orm\\AbstractPaginator",
         "type":"-\u003E",
         "function":"getIterator",
         "file":"\/var\/www\/html\/vendor\/symfony\/serializer\/Serializer.php",
         "line":147,
         "args":[

         ]
      },
      {
         "namespace":"Symfony\\Component\\Serializer",
         "short_class":"Serializer",
         "class":"Symfony\\Component\\Serializer\\Serializer",
         "type":"-\u003E",
         "function":"normalize",
         "file":"\/var\/www\/html\/vendor\/symfony\/serializer\/Serializer.php",
         "line":111,
         "args":[
            [
               "object",
               "ApiPlatform\\Core\\Bridge\\Doctrine\\Orm\\Paginator"
            ],
            [
               "string",
               "json"
            ],
            [
               "array",
               {
                  "collection_operation_name":[
                     "string",
                     "get"
                  ],
                  "operation_type":[
                     "string",
                     "collection"
                  ],
                  "resource_class":[
                     "string",
                     "App\\Entity\\Greeting"
                  ],
                  "request_uri":[
                     "string",
                     "\/api\/greetings"
                  ],
                  "uri":[
                     "string",
                     "http:\/\/localhost\/api\/greetings"
                  ],
                  "resources":[
                     "object",
                     "ApiPlatform\\Core\\Serializer\\ResourceList"
                  ]
               }
            ]
         ]
      },
      {
         "namespace":"Symfony\\Component\\Serializer",
         "short_class":"Serializer",
         "class":"Symfony\\Component\\Serializer\\Serializer",
         "type":"-\u003E",
         "function":"serialize",
         "file":"\/var\/www\/html\/vendor\/api-platform\/core\/src\/EventListener\/SerializeListener.php",
         "line":68,
         "args":[
            [
               "object",
               "ApiPlatform\\Core\\Bridge\\Doctrine\\Orm\\Paginator"
            ],
            [
               "string",
               "json"
            ],
            [
               "array",
               {
                  "collection_operation_name":[
                     "string",
                     "get"
                  ],
                  "operation_type":[
                     "string",
                     "collection"
                  ],
                  "resource_class":[
                     "string",
                     "App\\Entity\\Greeting"
                  ],
                  "request_uri":[
                     "string",
                     "\/api\/greetings"
                  ],
                  "uri":[
                     "string",
                     "http:\/\/localhost\/api\/greetings"
                  ],
                  "resources":[
                     "object",
                     "ApiPlatform\\Core\\Serializer\\ResourceList"
                  ]
               }
            ]
         ]
      },
      {
         "namespace":"ApiPlatform\\Core\\EventListener",
         "short_class":"SerializeListener",
         "class":"ApiPlatform\\Core\\EventListener\\SerializeListener",
         "type":"-\u003E",
         "function":"onKernelView",
         "file":"\/var\/www\/html\/vendor\/symfony\/event-dispatcher\/Debug\/WrappedListener.php",
         "line":104,
         "args":[
            [
               "object",
               "Symfony\\Component\\HttpKernel\\Event\\GetResponseForControllerResultEvent"
            ],
            [
               "string",
               "kernel.view"
            ],
            [
               "object",
               "Symfony\\Component\\HttpKernel\\Debug\\TraceableEventDispatcher"
            ]
         ]
      },
      {
         "namespace":"Symfony\\Component\\EventDispatcher\\Debug",
         "short_class":"WrappedListener",
         "class":"Symfony\\Component\\EventDispatcher\\Debug\\WrappedListener",
         "type":"-\u003E",
         "function":"__invoke",
         "file":"\/var\/www\/html\/vendor\/symfony\/event-dispatcher\/EventDispatcher.php",
         "line":212,
         "args":[
            [
               "object",
               "Symfony\\Component\\HttpKernel\\Event\\GetResponseForControllerResultEvent"
            ],
            [
               "string",
               "kernel.view"
            ],
            [
               "object",
               "Symfony\\Component\\EventDispatcher\\EventDispatcher"
            ]
         ]
      },
      {
         "namespace":"Symfony\\Component\\EventDispatcher",
         "short_class":"EventDispatcher",
         "class":"Symfony\\Component\\EventDispatcher\\EventDispatcher",
         "type":"-\u003E",
         "function":"doDispatch",
         "file":"\/var\/www\/html\/vendor\/symfony\/event-dispatcher\/EventDispatcher.php",
         "line":44,
         "args":[
            [
               "array",
               [
                  [
                     "object",
                     "Symfony\\Component\\EventDispatcher\\Debug\\WrappedListener"
                  ],
                  [
                     "object",
                     "Symfony\\Component\\EventDispatcher\\Debug\\WrappedListener"
                  ],
                  [
                     "object",
                     "Symfony\\Component\\EventDispatcher\\Debug\\WrappedListener"
                  ],
                  [
                     "object",
                     "Symfony\\Component\\EventDispatcher\\Debug\\WrappedListener"
                  ]
               ]
            ],
            [
               "string",
               "kernel.view"
            ],
            [
               "object",
               "Symfony\\Component\\HttpKernel\\Event\\GetResponseForControllerResultEvent"
            ]
         ]
      },
      {
         "namespace":"Symfony\\Component\\EventDispatcher",
         "short_class":"EventDispatcher",
         "class":"Symfony\\Component\\EventDispatcher\\EventDispatcher",
         "type":"-\u003E",
         "function":"dispatch",
         "file":"\/var\/www\/html\/vendor\/symfony\/event-dispatcher\/Debug\/TraceableEventDispatcher.php",
         "line":141,
         "args":[
            [
               "string",
               "kernel.view"
            ],
            [
               "object",
               "Symfony\\Component\\HttpKernel\\Event\\GetResponseForControllerResultEvent"
            ]
         ]
      },
      {
         "namespace":"Symfony\\Component\\EventDispatcher\\Debug",
         "short_class":"TraceableEventDispatcher",
         "class":"Symfony\\Component\\EventDispatcher\\Debug\\TraceableEventDispatcher",
         "type":"-\u003E",
         "function":"dispatch",
         "file":"\/var\/www\/html\/vendor\/symfony\/http-kernel\/HttpKernel.php",
         "line":154,
         "args":[
            [
               "string",
               "kernel.view"
            ],
            [
               "object",
               "Symfony\\Component\\HttpKernel\\Event\\GetResponseForControllerResultEvent"
            ]
         ]
      },
      {
         "namespace":"Symfony\\Component\\HttpKernel",
         "short_class":"HttpKernel",
         "class":"Symfony\\Component\\HttpKernel\\HttpKernel",
         "type":"-\u003E",
         "function":"handleRaw",
         "file":"\/var\/www\/html\/vendor\/symfony\/http-kernel\/HttpKernel.php",
         "line":66,
         "args":[
            [
               "object",
               "Symfony\\Component\\HttpFoundation\\Request"
            ],
            [
               "integer",
               1
            ]
         ]
      },
      {
         "namespace":"Symfony\\Component\\HttpKernel",
         "short_class":"HttpKernel",
         "class":"Symfony\\Component\\HttpKernel\\HttpKernel",
         "type":"-\u003E",
         "function":"handle",
         "file":"\/var\/www\/html\/vendor\/symfony\/http-kernel\/Kernel.php",
         "line":188,
         "args":[
            [
               "object",
               "Symfony\\Component\\HttpFoundation\\Request"
            ],
            [
               "integer",
               1
            ],
            [
               "boolean",
               true
            ]
         ]
      },
      {
         "namespace":"Symfony\\Component\\HttpKernel",
         "short_class":"Kernel",
         "class":"Symfony\\Component\\HttpKernel\\Kernel",
         "type":"-\u003E",
         "function":"handle",
         "file":"\/var\/www\/html\/public\/index.php",
         "line":37,
         "args":[
            [
               "object",
               "Symfony\\Component\\HttpFoundation\\Request"
            ]
         ]
      }
   ]
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.