# Files structure

By default, your project's structure will look like this:

  • /.cache: contains files used to build your admin panel.
  • /admin: contains your admin customization files.
  • /api: contains the business logic of your project split into sub-folders per API.
  • /build: contains your admin panel UI build.
  • /config
    • /environments: contains the project's configurations per environment.
      • /**
        • /development
          • custom.json: contains the custom configurations for this environment.
          • database.json: contains the database connections for this environment.
          • request.json: contains the request settings for this environment.
          • response.json: contains the response settings for this environment.
          • security.json: contains the security settings for this environment.
          • server.json: contains the server settings for this environment.
        • /production
        • /staging
    • /functions: contains lifecycle or generic functions of the project.
      • /responses: contains custom responses.
        • 404.js: contains a template for constructing your custom 404 message.
      • bootstrap.js: contains the code executed at the application start.
      • cron.js: contains the cron tasks.
    • application.json: contains the general configurations of the project.
    • custom.json: contains the custom configurations of the project.
    • hook.json: contains the hook settings of the project.
    • language.json: contains the language settings of the project.
    • middleware.json: contains the middleware settings of the project.
  • /extensions: contains the files to extend installed plugins.
  • /hooks: contains the custom hooks of the project.
  • /middlewares: contains the custom middlewares of the project.
  • /plugins: contains your local plugins.
  • /public: contains the files accessible to the outside world.
  • /node_modules: contains the npm packages used by the project.