Polish Language Game - Ruby DDD demo

Post on 21-Jan-2018

304 views 3 download

Transcript of Polish Language Game - Ruby DDD demo

A DDD app

in a MonthPlans for a

Polish Language Inflection learning game

using Realm

Ash Moran

ash@ashleymoran.net

My Problem

jeść

Ja teraz jem

Ty teraz jesz

My wzoraj (r. ż) #@?!

Example tool onlineTells but doesn’t ask :-(

Idea

jeść

My wczoraj (r. ż) Idź

My wczoraj (r. ż) jedliśmy❌

Spróbuj jeszcze raz

jedliśmy

Idea

jeść

My wczoraj (r. ż) Idź

My wczoraj (r. ż) jadłyśmy✅

jadłyśmy

Następne pytanie…

DDD - Events

Session Created (1)

Question Added (1+)

Session Started

Question Proposed (<loop>)

Question Answered Correctly

Question Answered Incorrectly (</loop>)

Session Ended

API HTTP Server

Webmachine.rb/Celluloid

Architecture(proposal)

Command API

Query API

Polish

Inflector

Gem

Game HTTP Server

Sinatra

Game

Web

UI

API HTTP Server

Webmachine.rb/Celluloid

Architecture(maybe later)

Command API

Query API

Polish

Inflector

Gem

Game HTTP Server

Game

Web UI

Game iOS App

RubyMotion UI

Core Bounded Context (your app

subsystem)

How Realm workshttps://github.com/realm-ddd/realm

Command

APIQuery API

Message Bus (commands, events)

event definitions

Generic Subdomain reusable subsystem

(eg identity)

Command

APIQuery API

event definitions

Realm entities

All code inside the Realm gem

Realm protocol

Show the GitHub page

Goal for Next Month

Sinatra front-end app

Polish Inflector gem – regular forms and most important irregular

verbs

Back-end API server for at least one type of game

Update Realm gem

Documentation / blog post how you could build an app the same way

Presentation to show (how) it works