LEMONADE Documentation

Documentation.

Fifteen chapters covering installation, project structure, application development, CLI and production deployment.

Chapter 3 of 15

Project structure.

Application code, configuration, and runtime data each have a clear home.

Important directories

Keep application code in app/, public files in public/, and writable runtime data in storage/. Do not modify framework source or packages under vendor/ from the application.

Project tree
app/
├── Config/          # YAML configuration and Routing.php
├── Controllers/     # HTTP actions
├── Language/        # translation catalogs
├── Providers/       # application service bindings
└── Views/           # layouts, pages and partials
public/index.php      # HTTP entry point
storage/              # cache, logs and sessions
vendor/bin/lemonade   # CLI entry point

This convention separates the HTTP entrypoint and public assets from application code and writable runtime data.

The request flow

The kernel loads typed configuration, registers providers, opens a Request scope, runs middleware, matches a route, and calls a public controller action. It then normalizes the result into a PSR response.

Detailed technical documentation on GitHub