PHPackages                             php-school/couch-db-check - 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. [Database &amp; ORM](/categories/database)
4. /
5. php-school/couch-db-check

ActiveLibrary[Database &amp; ORM](/categories/database)

php-school/couch-db-check
=========================

A Couch DB check to use in your workshops!

1.2.0(9y ago)012[1 issues](https://github.com/php-school/couch-db-check/issues)MITPHPPHP &gt;=5.6

Since May 24Pushed 9y ago2 watchersCompare

[ Source](https://github.com/php-school/couch-db-check)[ Packagist](https://packagist.org/packages/php-school/couch-db-check)[ Docs](https://www.phpschool.io)[ RSS](/packages/php-school-couch-db-check/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependencies (2)Versions (4)Used By (0)

Couch DB Check
==============

[](#couch-db-check)

A Couch DB check to use in your workshops!

[ ![](https://camo.githubusercontent.com/8124c34f475098621222ba23aae5f0025cac4d4ce881c71883cffef42f3d5faa/68747470733a2f2f7068707363686f6f6c2e6865726f6b756170702e636f6d2f62616467652e737667)](https://phpschool-team.slack.com/messages)

---- Installation
------------

[](#installation)

In your workshop:

```
composer require php-school/couch-db-check
```

Register the check with the application:

```
//app/bootstrap.php

use PhpSchool\CouchDb\CouchDbCheck;

...

$app = new Application('My Workshop', __DIR__ . '/config.php');
$app->addCheck(CouchDbCheck::class);
```

Register the check with the container:

```
//app/config.php

use PhpSchool\CouchDb\CouchDbCheck;

return [

   ...

   CouchDbCheck::class => object(),
]
```

Usage
-----

[](#usage)

Your exercise should implement the interface `PhpSchool\CouchDb\CouchDbExerciseCheck`

This introduces the methods:

```
/**
 * @param CouchDBClient $couchDbClient
 * @return void
 */
public function seed(CouchDBClient $couchDbClient);

/**
 * @param CouchDBClient $couchDbClient
 * @return bool
 */
public function verify(CouchDBClient $couchDbClient);
```

The check will automatically create two databases before running/verifying, and remove them at the end of running/verifying. The databases `phpschool`and `phpschool-student` will be created. These arguments will be prepended to the exercise cli arguments. `phpschool` to your proposed solution and `phpschool-student` to the students submission.

In the `seed` method, you should configure the database with any data you might want in there for the exercise. You are passed an instance of `CouchDBClient` which is connected to the students database. You can read about the methods available on it [here](https://github.com/doctrine/couchdb-client). After seeding, the check will make sure all the data added, is synchronised with the solution database. This allows for the solution and the students submission to act on the same data without interferring with each other.

The `verify` method is called after your solution and the students submission have been run, therefore you can perform analysis on the database (you will be passed a client connected to the students database) to check the exercise was completed succesfully. For example, you can check documents were inserted, updated or removed.

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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 ~103 days

Total

3

Last Release

3482d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2817002?v=4)[Aydin Hassan](/maintainers/AydinHassan)[@AydinHassan](https://github.com/AydinHassan)

---

Top Contributors

[![AydinHassan](https://avatars.githubusercontent.com/u/2817002?v=4)](https://github.com/AydinHassan "AydinHassan (12 commits)")

---

Tags

cliconsoleterminaldatabasecouchdbeducationlearningphp-schoolworkshopphpshool

### Embed Badge

![Health badge](/badges/php-school-couch-db-check/health.svg)

```
[![Health](https://phpackages.com/badges/php-school-couch-db-check/health.svg)](https://phpackages.com/packages/php-school-couch-db-check)
```

###  Alternatives

[php-school/learn-you-php

An introduction to PHP's core features: i/o, http, arrays, exceptions and so on.

3202.0k](/packages/php-school-learn-you-php)[php-school/cli-menu

A command line menu helper in PHP

2.0k1.2M30](/packages/php-school-cli-menu)[php-school/php-workshop

PHP Workshop Framework

466.6k6](/packages/php-school-php-workshop)[bvanhoekelen/performance

PHP performance tool analyser your script on time, memory usage and db query. Support Laravel and Composer for web, web console and command line interfaces.

522846.1k5](/packages/bvanhoekelen-performance)[mysql-workbench-schema-exporter/mysql-workbench-schema-exporter

MySQL Workbench Schema Exporter

485193.3k11](/packages/mysql-workbench-schema-exporter-mysql-workbench-schema-exporter)[php-school/terminal

A command line terminal utility in PHP

21998.0k4](/packages/php-school-terminal)

PHPackages © 2026

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