# Phoenix v1.8.12 - Table of Contents > Peace of mind from prototype to production ## GUIDES - [Changelog for v1.8](changelog.md) - [JS Documentation](js-documentation.md) - Introduction - [Overview](overview.md) - [Installation](installation.md) - [Up and Running](up_and_running.md) - [Community](community.md) - [Packages Glossary](packages_glossary.md) - Core Concepts - [Directory structure](directory_structure.md) - [Request life-cycle](request_lifecycle.md) - [Plug](plug.md) - [Routing](routing.md) - [Controllers](controllers.md) - [Components and HEEx](components.md) - [Ecto](ecto.md) - [JSON and APIs](json_and_apis.md) - [LiveView](live_view.md) - [Asset Management](asset_management.md) - [Telemetry](telemetry.md) - [Security](security.md) - Data Modelling - [1. Intro to Contexts](contexts.md) - [2. Your First Context](your_first_context.md) - [3. In-context Relationships](in_context_relationships.md) - [4. Cross-context Boundaries](cross_context_boundaries.md) - [5. Bringing It Home](more_examples.md) - [6. FAQ](faq.md) - Authn and Authz - [Introduction to Auth](authn_authz.md) - [mix phx.gen.auth](mix_phx_gen_auth.md) - [Scopes](scopes.md) - [API Authentication](api_authentication.md) - Real-time - [Channels](channels.md) - [Presence](presence.md) - Testing - [Introduction to Testing](testing.md) - [Testing Contexts](testing_contexts.md) - [Testing Controllers](testing_controllers.md) - [Testing Channels](testing_channels.md) - Deployment - [Introduction to Deployment](deployment.md) - [Deploying with Releases](releases.md) - [Deploying on Fly.io](fly.md) - [Deploying on Gigalixir](gigalixir.md) - [Deploying on Heroku](heroku.md) - Cheatsheets - [Routing cheatsheet](router.md) - How-to's - [Custom Error Pages](custom_error_pages.md) - [File Uploads](file_uploads.md) - [Swapping Databases](swapping_databases.md) - [Using SSL](using_ssl.md) - [Writing a Channels Client](writing_a_channels_client.md) ## Modules - [Phoenix](Phoenix.md): This is the documentation for the Phoenix project. - [Phoenix.Channel](Phoenix.Channel.md): Defines a Phoenix Channel. - [Phoenix.Controller](Phoenix.Controller.md): Controllers are used to group common functionality in the same (pluggable) module. - [Phoenix.Debug](Phoenix.Debug.md): Functions for runtime introspection and debugging of Phoenix applications. - [Phoenix.Endpoint](Phoenix.Endpoint.md): Defines a Phoenix endpoint. - [Phoenix.Flash](Phoenix.Flash.md): Provides shared flash access. - [Phoenix.Logger](Phoenix.Logger.md): Instrumenter to handle logging of various instrumentation events. - [Phoenix.Naming](Phoenix.Naming.md): Conveniences for inflecting and working with names in Phoenix. - [Phoenix.Param](Phoenix.Param.md): A protocol that converts data structures into URL parameters. - [Phoenix.Presence](Phoenix.Presence.md): Provides Presence tracking to processes and channels. - [Phoenix.Router](Phoenix.Router.md): Defines a Phoenix router. - [Phoenix.Socket](Phoenix.Socket.md): A socket implementation that multiplexes messages over channels. - [Phoenix.Token](Phoenix.Token.md): Conveniences to sign/encrypt data inside tokens for use in Channels, API authentication, and more. - [Phoenix.VerifiedRoutes](Phoenix.VerifiedRoutes.md): Provides route generation with compile-time verification. - Testing - [Phoenix.ChannelTest](Phoenix.ChannelTest.md): Conveniences for testing Phoenix channels. - [Phoenix.ConnTest](Phoenix.ConnTest.md): Conveniences for testing Phoenix endpoints and connection related helpers. - Adapters and Plugs - [Phoenix.CodeReloader](Phoenix.CodeReloader.md): A plug and module to handle automatic code reloading. - [Phoenix.Endpoint.Cowboy2Adapter](Phoenix.Endpoint.Cowboy2Adapter.md): The Cowboy2 adapter for Phoenix. - [Phoenix.Endpoint.SyncCodeReloadPlug](Phoenix.Endpoint.SyncCodeReloadPlug.md): Wraps an Endpoint, attempting to sync with Phoenix's code reloader if an exception is raised which indicates that we may be in the middle of a reload. - Digester - [Phoenix.Digester.Compressor](Phoenix.Digester.Compressor.md): Defines the `Phoenix.Digester.Compressor` behaviour for implementing static file compressors. - [Phoenix.Digester.Gzip](Phoenix.Digester.Gzip.md): Gzip compressor for Phoenix.Digester - Socket - [Phoenix.Socket.Broadcast](Phoenix.Socket.Broadcast.md): Defines a message sent from pubsub to channels and vice-versa. - [Phoenix.Socket.Message](Phoenix.Socket.Message.md): Defines a message dispatched over transport to channels and vice-versa. - [Phoenix.Socket.Reply](Phoenix.Socket.Reply.md): Defines a reply sent from channels to transports. - [Phoenix.Socket.Serializer](Phoenix.Socket.Serializer.md): A behaviour that serializes incoming and outgoing socket messages. - [Phoenix.Socket.Transport](Phoenix.Socket.Transport.md): Outlines the Socket <-> Transport communication. - Exceptions - [Phoenix.ActionClauseError](Phoenix.ActionClauseError.md) - [Phoenix.MissingParamError](Phoenix.MissingParamError.md): Raised when a key is expected to be present in the request parameters, but is not. - [Phoenix.NotAcceptableError](Phoenix.NotAcceptableError.md): Raised when one of the `accept*` headers is not accepted by the server. - [Phoenix.Router.MalformedURIError](Phoenix.Router.MalformedURIError.md): Exception raised when the URI is malformed on matching. - [Phoenix.Router.NoRouteError](Phoenix.Router.NoRouteError.md): Exception raised when no route is found. - [Phoenix.Socket.InvalidMessageError](Phoenix.Socket.InvalidMessageError.md): Raised when the socket message is invalid. ## Mix Tasks - [mix local.phx](Mix.Tasks.Local.Phx.md): Updates the Phoenix project generator locally. - [mix phx](Mix.Tasks.Phx.md): Prints Phoenix tasks and their information. - [mix phx.digest](Mix.Tasks.Phx.Digest.md): Digests and compresses static files. - [mix phx.digest.clean](Mix.Tasks.Phx.Digest.Clean.md): Removes old versions of compiled assets. - [mix phx.gen](Mix.Tasks.Phx.Gen.md): Lists all available Phoenix generators. - [mix phx.gen.auth](Mix.Tasks.Phx.Gen.Auth.md): Generates authentication logic and related views for a resource. - [mix phx.gen.cert](Mix.Tasks.Phx.Gen.Cert.md): Generates a self-signed certificate for HTTPS testing. - [mix phx.gen.channel](Mix.Tasks.Phx.Gen.Channel.md): Generates a Phoenix channel. - [mix phx.gen.context](Mix.Tasks.Phx.Gen.Context.md): Generates a context with functions around an Ecto schema. - [mix phx.gen.embedded](Mix.Tasks.Phx.Gen.Embedded.md): Generates an embedded Ecto schema for casting/validating data outside the DB. - [mix phx.gen.html](Mix.Tasks.Phx.Gen.Html.md): Generates controller with view, templates, schema and context for an HTML resource. - [mix phx.gen.json](Mix.Tasks.Phx.Gen.Json.md): Generates controller, JSON view, and context for a JSON resource. - [mix phx.gen.live](Mix.Tasks.Phx.Gen.Live.md): Generates LiveView, templates, and context for a resource. - [mix phx.gen.notifier](Mix.Tasks.Phx.Gen.Notifier.md): Generates a notifier that delivers emails by default. - [mix phx.gen.presence](Mix.Tasks.Phx.Gen.Presence.md): Generates a Presence tracker. - [mix phx.gen.release](Mix.Tasks.Phx.Gen.Release.md): Generates release files and optional Dockerfile for release-based deployments. - [mix phx.gen.schema](Mix.Tasks.Phx.Gen.Schema.md): Generates an Ecto schema and migration. - [mix phx.gen.secret](Mix.Tasks.Phx.Gen.Secret.md): Generates a secret and prints it to the terminal. - [mix phx.gen.socket](Mix.Tasks.Phx.Gen.Socket.md): Generates a Phoenix socket handler. - [mix phx.new](Mix.Tasks.Phx.New.md): Creates a new Phoenix project. - [mix phx.new.ecto](Mix.Tasks.Phx.New.Ecto.md): Creates a new Ecto project within an umbrella project. - [mix phx.new.web](Mix.Tasks.Phx.New.Web.md): Creates a new Phoenix web project within an umbrella project. - [mix phx.routes](Mix.Tasks.Phx.Routes.md): Prints all routes for the default or a given router. Can also locate the controller function behind a specified url. - [mix phx.server](Mix.Tasks.Phx.Server.md): Starts the application by configuring all endpoints servers to run.