PHPackages                             letsdrink/ouzo-app - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. letsdrink/ouzo-app

ActiveLibrary[Framework](/categories/framework)

letsdrink/ouzo-app
==================

Ouzo framework application skeleton

1.4.0(11y ago)143942[6 issues](https://github.com/letsdrink/ouzo-app/issues)MITPHP

Since May 20Pushed 6y ago12 watchersCompare

[ Source](https://github.com/letsdrink/ouzo-app)[ Packagist](https://packagist.org/packages/letsdrink/ouzo-app)[ RSS](/packages/letsdrink-ouzo-app/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (4)Dependencies (3)Versions (5)Used By (0)

Ouzo - 5 minutes tutorial
=========================

[](#ouzo---5-minutes-tutorial)

[![Build Status](https://camo.githubusercontent.com/7225f0e0a1e5eb91e3655c8d831df7e93c2143910edc58f59164f604259645c6/68747470733a2f2f7472617669732d63692e6f72672f6c6574736472696e6b2f6f757a6f2d6170702e7376673f6272616e63683d312e342e30)](https://travis-ci.org/letsdrink/ouzo-app)

How to use Ouzo step by step. It takes only 5 minutes to set up sample project and start experiencing Ouzo.

Set up project
--------------

[](#set-up-project)

Simply use composer ():

```
composer.phar create-project letsdrink/ouzo-app:1.4.0 myproject

```

Where `myproject` is your project's name.

After downloading Ouzo and its dependencies you will be asked what database you want to use. Ouzo will prepare config files for you. Database configuration can be changed manually later if needed.

PHP Version
-----------

[](#php-version)

You need:

- PHP 5.6 or later installed. Currently Ouzo is tested on 5.6, 7.0, and 7.1 environments.
- Database driver, accordingly to the database your are using.

In order to get list of available drivers check .

Configure HTTP Server
---------------------

[](#configure-http-server)

Ouzo apps can be run on Apache web server. It needs mod\_rewrite enabled. Once you have previous step completed, change document root to `myproject`.

Ouzo Configuration
------------------

[](#ouzo-configuration)

Ouzo configuration is located under `config/prod/config.php`.

What's important for now is that debug is turned on by default. Please, leave it like this for installation purposes, as you will be able to see detailed error messages in case something goes wrong.

Database Configuration
----------------------

[](#database-configuration)

Configuration is automatically generated for database of your choice. The only thing you need to do is to create database and database user first.

For MySQL:

```
CREATE DATABASE myproject;
CREATE USER 'ouzo'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON myproject.* TO 'ouzo'@'localhost';
```

For PostgreSQL:

```
CREATE DATABASE myproject;
CREATE USER ouzo WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE myproject to ouzo;
```

If you do not use composer, sample project has PostgreSQL by default. Database config can be found in Ouzo configuration file:

```
$config['db']['dbname'] = 'myproject';
$config['db']['user'] = 'ouzo';
$config['db']['pass'] = 'password';
$config['db']['driver'] = 'pgsql';
$config['db']['host'] = '127.0.0.1';
$config['db']['port'] = '5432';
$config['sql_dialect'] = '\\Ouzo\\Db\\Dialect\\PostgresDialect';
```

You need to provide database name, user name &amp; password, driver, host, port and SQL dialect class. For now Ouzo supports:

- PostgreSQL - \\Ouzo\\Db\\Dialect\\PostgresDialect
- MySQL - \\Ouzo\\Db\\Dialect\\MySqlDialect
- SQLite3 - \\Ouzo\\Db\\Dialect\\Sqlite3Dialect

Migrations
----------

[](#migrations)

Your database is empty at the beginning. To demonstrate Ouzo capabilities we have created a sample database. Use db.sh script to apply migrations:

```
./db.sh db:migrate

```

To see full list of possible migrations related actions run:

```
./db.sh

```

Ouzo uses Ruckusing framework for migrations ().

Check out the app!
------------------

[](#check-out-the-app)

Open your favourite browser and go to . Your first Ouzo project is now running! You can play around by adding, browsing and editing users.

Running tests
-------------

[](#running-tests)

Test configuration can be found in `config/test/config.php`. You will need separate database for tests purposes only.

Set up for MySQL:

```
CREATE DATABASE myproject_test;
GRANT ALL PRIVILEGES ON myproject_test.* TO 'ouzo'@'localhost';
```

Set up for PostgreSQL:

```
CREATE DATABASE myproject_test;
GRANT ALL PRIVILEGES ON DATABASE myproject_test to ouzo;
```

Apply migrations:

```
environment=test ./db.sh db:migrate

```

Now run tests:

```
phpunit --bootstrap bootstrap_test.php test/

```

If all tests are passing, you're good to go!

More
----

[](#more)

Skeleton app explained: [http://ouzo.readthedocs.org/en/latest/tutorials/project\_structure\_explained.html](http://ouzo.readthedocs.org/en/latest/tutorials/project_structure_explained.html)

Ouzo documentation:

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance11

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~74 days

Total

4

Last Release

4148d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/479b18c25fda1e49bbfd7f188e759f24de68a0ba16e5983604e7476d416ab910?d=identicon)[woru](/maintainers/woru)

![](https://www.gravatar.com/avatar/8ec556ac8796d7201b03472a75b3f10a00b389ede74f1977bbd1ee6613a84203?d=identicon)[piotrooo](/maintainers/piotrooo)

![](https://www.gravatar.com/avatar/f4f6f55a88a1bc638b71918759d36295ed3740f13969a22f2181c640d0f9a21c?d=identicon)[bbankowski](/maintainers/bbankowski)

---

Top Contributors

[![piotrooo](https://avatars.githubusercontent.com/u/2005054?v=4)](https://github.com/piotrooo "piotrooo (82 commits)")[![bbankowski](https://avatars.githubusercontent.com/u/3840784?v=4)](https://github.com/bbankowski "bbankowski (68 commits)")[![woru](https://avatars.githubusercontent.com/u/239006?v=4)](https://github.com/woru "woru (20 commits)")[![andrzejo](https://avatars.githubusercontent.com/u/5418932?v=4)](https://github.com/andrzejo "andrzejo (13 commits)")[![danon](https://avatars.githubusercontent.com/u/13367735?v=4)](https://github.com/danon "danon (5 commits)")

### Embed Badge

![Health badge](/badges/letsdrink-ouzo-app/health.svg)

```
[![Health](https://phpackages.com/badges/letsdrink-ouzo-app/health.svg)](https://phpackages.com/packages/letsdrink-ouzo-app)
```

###  Alternatives

[laravel/telescope

An elegant debug assistant for the Laravel framework.

5.2k67.8M190](/packages/laravel-telescope)[spiral/roadrunner

RoadRunner: High-performance PHP application server and process manager written in Go and powered with plugins

8.4k12.2M84](/packages/spiral-roadrunner)[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M256](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

708181.8M591](/packages/laravel-prompts)[cakephp/chronos

A simple API extension for DateTime.

1.4k47.7M121](/packages/cakephp-chronos)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
