WriteBoard was developed entirely in two weeks for the Boeing Potomac Region Hack-a-thon.

group

Agile

WriteBoard was built by a team of 5 developers using an Agile board and a GitLab repo. I was the project/product manager and ended up writing the vast majority of the code.

important_devices

Simultaneous

WriteBoard uses a PHP WebSockets implementation on the server-side to handle drawing and chat messages simultaneously. The WebSockets server maintains synchronized client connections.

storage

Persistent

WriteBoard employs an Java-based HTTP server API to allow for non-blocking persistent data storage and sequentially accessible artifact retrieval and serialized data warehousing.

WriteBoard is built on PHP WebSockets, a Java HTTP API, and a Bootstrap/JavaScript frontend.

import_export

WebSockets

This component was created using the Ratchet PHP library and broadcasts actions from connected clients to connected clients. The WebSockets server is written to be as lean as possible to keep up with high volume requests in real time.

storage

Storage API

This component was created with a Java HTTP server that accepted serialized drawing objects and added them to a queue to be stored in a MySQL database. The API runs asynchronous database access for instant responses to the WebSockets API.

web

Front-end

This component was created using JavaScript and Bootstrap. Bootstrap was used for formatting support for display components. Over one thousand lines of JavaScript manages communication with the WebSockets server and handles events

WriteBoard was built by a team of 5 developers. I was the project manager and ended up doing the vast majority of the work.

Agile Development

Planning started with developing a backlog in GitLab issues. We employed agile practices throughout and ran 2, week long sprints. Though I ended up making nearly all the commits, I continuously updated the agile board.