SeeCodeRun: Project Flow - devuxd/SeeCodeRun GitHub Wiki

#Structure ###Client Server Architecture Client and server are always in communication with one other. On the client side, a browser such as Chrome or Firefox is connected to a device via the operating system to render an application front-end, which uses a Document Object Model (DOM) to represent its client-side logic. The DOM is a platform and language-neutral interface that allows access to a device's resources via API in different languages like JavaScript, HTML, and CSS programs. In our project, a client obtains our web-app from our Firebase host server running on the Google Cloud Platform (GCP). Our project is built upon Aurelia, a web-client framework that facilitates web-app development based on a Model-View-View Model architecture (MVVM), which is then connected to a Firebase database to persist such model in JSON format. In the Aurelia framework, a View is represented in HTML (styled with CSS), and a View Model in JavaScript.

###Event-Driven Architecture Event-Driven Architecture occurs when you do something, and something occurs, that is, a system is implemented in such way that identifies, communicates and reacts to significant changes in its/another program state. This has two parts: listening and registering. Event listening is when we want our program to react when to a given event; In terms of code, we want to bind one of our functions when the event takes place, a callback function. The event registering communicates that the event happened; it refers to a triggering or firing an event. #References Event-Driven Architectures