Polish Language Game - Ruby DDD demo
Transcript of Polish Language Game - Ruby DDD demo
![Page 1: Polish Language Game - Ruby DDD demo](https://reader036.fdocuments.pl/reader036/viewer/2022080203/58f0fb301a28abf03e8b458d/html5/thumbnails/1.jpg)
A DDD app
in a MonthPlans for a
Polish Language Inflection learning game
using Realm
Ash Moran
![Page 2: Polish Language Game - Ruby DDD demo](https://reader036.fdocuments.pl/reader036/viewer/2022080203/58f0fb301a28abf03e8b458d/html5/thumbnails/2.jpg)
My Problem
jeść
Ja teraz jem
Ty teraz jesz
My wzoraj (r. ż) #@?!
![Page 3: Polish Language Game - Ruby DDD demo](https://reader036.fdocuments.pl/reader036/viewer/2022080203/58f0fb301a28abf03e8b458d/html5/thumbnails/3.jpg)
Example tool onlineTells but doesn’t ask :-(
![Page 4: Polish Language Game - Ruby DDD demo](https://reader036.fdocuments.pl/reader036/viewer/2022080203/58f0fb301a28abf03e8b458d/html5/thumbnails/4.jpg)
Idea
jeść
My wczoraj (r. ż) Idź
My wczoraj (r. ż) jedliśmy❌
Spróbuj jeszcze raz
jedliśmy
![Page 5: Polish Language Game - Ruby DDD demo](https://reader036.fdocuments.pl/reader036/viewer/2022080203/58f0fb301a28abf03e8b458d/html5/thumbnails/5.jpg)
Idea
jeść
My wczoraj (r. ż) Idź
My wczoraj (r. ż) jadłyśmy✅
jadłyśmy
Następne pytanie…
![Page 6: Polish Language Game - Ruby DDD demo](https://reader036.fdocuments.pl/reader036/viewer/2022080203/58f0fb301a28abf03e8b458d/html5/thumbnails/6.jpg)
DDD - Events
Session Created (1)
Question Added (1+)
Session Started
Question Proposed (<loop>)
Question Answered Correctly
Question Answered Incorrectly (</loop>)
Session Ended
![Page 7: Polish Language Game - Ruby DDD demo](https://reader036.fdocuments.pl/reader036/viewer/2022080203/58f0fb301a28abf03e8b458d/html5/thumbnails/7.jpg)
API HTTP Server
Webmachine.rb/Celluloid
Architecture(proposal)
Command API
Query API
Polish
Inflector
Gem
Game HTTP Server
Sinatra
Game
Web
UI
![Page 8: Polish Language Game - Ruby DDD demo](https://reader036.fdocuments.pl/reader036/viewer/2022080203/58f0fb301a28abf03e8b458d/html5/thumbnails/8.jpg)
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
![Page 9: Polish Language Game - Ruby DDD demo](https://reader036.fdocuments.pl/reader036/viewer/2022080203/58f0fb301a28abf03e8b458d/html5/thumbnails/9.jpg)
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
![Page 10: Polish Language Game - Ruby DDD demo](https://reader036.fdocuments.pl/reader036/viewer/2022080203/58f0fb301a28abf03e8b458d/html5/thumbnails/10.jpg)
Show the GitHub page
![Page 11: Polish Language Game - Ruby DDD demo](https://reader036.fdocuments.pl/reader036/viewer/2022080203/58f0fb301a28abf03e8b458d/html5/thumbnails/11.jpg)
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