A DDD app
in a MonthPlans for a
Polish Language Inflection learning game
using Realm
Ash Moran
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