Project Management (or Tool Chain)
Build
The main proposed solution is the Design Guide and Form Renderer. Both of these elements are web-based. Below is a selection of tools at our disposal. They are mainly split into text editors and web IDEs. They both have their pros and cons. We explore these options and come to a conclusion to how we are going to utilise these tools.
Advanced text editors are lightweight and lightning fast tools for on the fly creation and modification. They offer a wide of range of advantages over their heavyweight IDE rivals.
Some popular text editor tools are Atom, Sublime and Notepad++. In case of web development, a web browser is usually used in conjunction to provide compilation and execution. Many modern browsers today such as Google Chrome and Mozilla Firefox also offer debugging consoles.
Web IDEs provide an integrated environment for developers. This means that it contains an almost comprehensive array of tools that the developer may use throughout the development of the project. Some of these tools include but are not limited to the following: debugger, navigation, code auto completion and class explorers.
This variety of tools provide the integrated environment which is the main advantage IDEs have against lightweight text editors.
Although IDEs will always provide more tools than simple text editors, these tools are not usually required or used by the developer. Thus these tools only make for a slower use experience. Many users prefer the faster speed text editors. Additionally, more recent text editors natively or allow the option to install some tools that are traditionally only available through IDEs. This has further levelled the playing field between text editors and IDEs.
An example of a popular web IDE is Webstorm. This is an extremely popular IDE due to its reputation for stability.
We have decided the best option is to use a combination of both tools since individual use of any tools do not conflict with each other and the best tool for use is essentially a matter of preference.
Version Control
Our client already has an official Peach GitLab page setup for use. Thus this is naturally the version control tool that we are going to be using in term 2 when it comes time to building. We also use personal GitHub repositories for experimentation, testing and prototypes. For further information about links and repositories, please folow this link.
Deployment
There is a fast growing selection of cloud computing web service available. With these different services comes different approaches to deployment. This section mainly looks at the way Amazon Web Services and Microsoft Azure deal with deployment and automation. Other notable cloud computing services also include Google Cloud Compute.
From our perspective, the AWS and Azure both offer auto deployment without the need of additional custom scripting. However in the end, Azure will be the more probable option since the UCLH Peach project is sponsored by Microsoft and a paid Azure account is provided to us.
Tags
overview requirements development architecture version control our project