资源说明:Manage foosball matches
# About 'core-foos' - Manage foosball matches This app helps you to manage foosball matches in your office. Especially after lunch, everybody wants to play before going back to work. The problem is that you have to find one or three partners to play a single or a double. So register atfor a single or a double and informs you as soon as a match can start, i.e., the table is available and there are enough players available. # Use cases In the following we provide the basic use-cases represented in table-form. The notation is inspired by the Book "Lean Architecture for Agile Software Development" by James Coplien (p. 187 ff). Some notes: 42. The use cases define a so-called "Sunny Day Scenario", that means they don't cope with things like invalid input data and such (this would be placed in "use case deviation" tables) 42. Terms and concepts - that should be consistent among uses cases - are printed in *italic*. 42. The priority of use cases is defined by their order of appearance. ## Important terms and concepts ## Use case 1: "Check if kicker table is free"
Term/Concept Description entry screen The view that is presented to the player when he launches his kicker client. In web UIs this refers to the home page, in native Apps this would be the main menu. player An employee that feels the urgent need to play a match of kicker. kicker client UI that allows to use services provided by the kicker server. kicker server Server that responds to requests fired by kicker clients. match queue A list of booked kicker matches. player queue A list of players that wait for a kicker match to begin (when enough players equeued). # WebSocket **server** message API (aka "what the server responds to")
Step Actor intention System responsibility WebSocket client message WebSocket server message Comment 1.
- Hackathon: The player launches it's kicker client.
- Later on: The player launches it's kicker client and authenticates with the service.
- Hackathon: The kicker client show the entry screen.
- Later on: The kicker server performs authentication and the kicker client displays the entry screen.
- - - Note: The Arguments are provided as JSON!
# Additional Features * Web UI fits device's viewport resolution (CSS Media Queries) * (Optional) Addtional Notification via * E-Mail * Instant messaging * (Optional) Additional kicker client implementations using * [HAXE](http://haxe.org/) or * [PhoneGap](http://phonegap.com/start) * (Optional) Authentication via QR-Code * A spcific QR-Code is generated and attached to the kicker * Scanning the QR-Code will trigger a URL that automatically removes the active match from the *match queue*) * Online QR-Code generators * [QR Code Generator](http://www.qrcode-generator.de/) * [Kaywa QR-Code](http://qrcode.kaywa.com/) * [GoQR](http://goqr.me/de/) # Weblinks * WebSockets * [Api @ W3C](http://en.wikipedia.org/wiki/WebSocket) * [Demo Apps](http://www.websocket.org/demos.html) * [Node.js module](http://www.devthought.com/2009/12/06/nodejs-and-the-websocket-protocol/) * Web Worker - "JavaScript threads"; compute sth. in the background whilst continuing doing some other stuff in the UI * [Wikipedia](http://en.wikipedia.org/wiki/Web_worker) * Canvas - HTML element to render arbitrary complex things to; one did even implement a [famous retro game](http://www.adityaravishankar.com/projects/games/command-and-conquer/) * [Wikipedia](http://en.wikipedia.org/wiki/Canvas_element) * IndexedDB - a local storage better that LocalStorage (accorging to [some Google folks](http://www.golem.de/news/paul-kinlan-google-mitarbeiter-sagt-localstorage-api-den-kampf-an-1202-90093.html)) * [Wikipedia](http://en.wikipedia.org/wiki/Indexed_Database_API) * CSS Media Queries * [API @ W3C](http://www.w3.org/TR/css3-mediaqueries/) * ["Detection Website"](http://cssmediaqueries.com/)
Message Argument properties register_match[{name:String}]end_matchmatchId: ...
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。
English
