Building an interface for Engine is the same as building any generic web application. We try to follow industry best practices and leverage the tools used by most developers in the industry.
NOTE:: Windows users are recommended to install the Linux subsystem for Windows.
Tools such as git and your preferred text editor make sense to run on Win32
Whilst both NodeJS and Ruby can run natively on Windows they are much harder to manage and use effectively when compared to their Linux counterparts.
Please install the following applications as they are core requirements for interface development
The tools and libraries that help with development are available via
npm which is the Node Package Manager. We recommend installing the following command line helpers
This is a project that can run against the Engine development environment, for those who want some instant gratification.
Create a folder for storing your interface projects
Open a command prompt at that location
Clone the Composer Starter
git clone https://github.com/acaprojects/ngx-composer-starter.git
cd ngx-composer-starter to move into the folder
npm install to install the project dependencies
gulp serve to run the development server
NB: If you are planning to run the user interface project without the Engine Developer environment, in Step 6 above you will need to use
gulp serve --mock this will allow the interface to run 'headless' with mock data for development purposes.
NB: While the existing UIs are relatively plug'n'play with a locally spun up Engine environment, a domain must first be set for localhost or your machine's IP address before authentication will be functional. Ensure the domain that's set is the same as what you're accessing the frontend app with and matches the composer config in settings.json. i.e. What's typed into the browser address bar matches the settings.json and the domain configured in Engine.
Angular is our preferred web application framework. We recommend being familiar with it before continuing.
https://angular.io/guide/quickstart - for a basic understanding of Angular applications
https://angular.io/tutorial - fundamentals of Angular
This will keep you running on the latest version of the platform as there are periodic updates.
npm install npm@latest -g
Updating NodeJS (Windows users should download the latest MSI, unless using the Linux subsystem)
sudo npm cache clean -f
sudo npm install -g n
sudo n stable