Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lezhnev74/ema
External memory app - allows one to quickly post and search text notes
https://github.com/lezhnev74/ema
clean-architecture ddd php tdd
Last synced: 3 months ago
JSON representation
External memory app - allows one to quickly post and search text notes
- Host: GitHub
- URL: https://github.com/lezhnev74/ema
- Owner: lezhnev74
- License: mit
- Created: 2017-04-13T06:36:51.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2019-05-03T19:47:41.000Z (over 5 years ago)
- Last Synced: 2024-10-13T12:29:42.416Z (3 months ago)
- Topics: clean-architecture, ddd, php, tdd
- Language: PHP
- Homepage: https://lessthan12ms.com/clean-architecture-implemented-as-a-php-app/
- Size: 371 KB
- Stars: 51
- Watchers: 4
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/lezhnev74/ema/master/LICENSE)
[![Build Status](https://travis-ci.org/lezhnev74/ema.svg?branch=master)](https://travis-ci.org/lezhnev74/ema)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/lezhnev74/ema/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/lezhnev74/ema/?branch=master)
[![Code Coverage](https://scrutinizer-ci.com/g/lezhnev74/ema/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/lezhnev74/ema/?branch=master)# Overview
External memory app - allows one to quickly post and search text notes.
This repo represents the backend app - it offers http API for clients.* Blog post: https://lessthan12ms.com/clean-architecture-implemented-as-a-php-app/
* Demo: https://ema.lessthan12ms.com
* UI/Client repo: https://github.com/lezhnev74/ema-web-client![](ema.jpg)
## Why?
* I needed something better than a todo app to practice Clean Architecture inspired by Uncle Bob's talks
* Evernote, disk files (like Quiver app) and other tools disappointed me. I needed a light, fast post-n-search app for storing code snippets and linux commands.
* Secondly I needed a simple app to play with the DDD concepts along with Service Bus oriented architecture. All these things found its places in this project.
## Installation```
#requires php7.1-apcu module (for DI-container caching), see function `container()` in helpers file
cd
# sqlite database will be located in there
mkdir storage
cp .env.example .env
# then edit .env file
composer update
# then run database migrations
php migrations/doctrine.php migrations:migrate
```