============
Introduction
============

What's Flow
===========

Flow is a PHP-based application framework. It is especially well-suited for
enterprise-grade applications and explicitly supports *Domain-Driven Design*, a
powerful software design philosophy. *Convention over configuration*, *Test-Driven
Development*, *Continuous Integration* and an *easy-to-read source code* are other
important principles we follow for the development of Flow.

Needless to say, Flow provides you with a full-stack *MVC framework* for building
state-of-the-art web applications. More exciting though are the first class
*Dependency Injection* support and the *Aspect-Oriented Programming* capabilities
which can be used without a single line of configuration.

What's in this tutorial?
========================

This tutorial explains all the steps to get you started with your very own
first Flow project.

Please bring your own computer, a reasonable knowledge of PHP and HTML and at
least some initial experience with object-oriented programming. In return
you'll surely get some new insights into modern programming paradigms and how
to produce clean code in no time.

.. note::
	If you're stuck at some point or stumble over some weirdnesses during the
	tutorial, please let us know! We appreciate any feedback in our `forum <https://discuss.neos.io/>`_, as
	a ticket in our `issue tracker <https://github.com/neos/flow-development-collection/issues>`_ or via `Slack <http://slack.neos.io/>`_.

.. tip::
	This tutorial goes best with a Caffè Latte or, if it's afternoon or late night
	already, with a few shots of Espresso ...
