Using Ionic magic, develop once and export to iOS or Android with Angular. The goal of this project is to support the functionality of Arduino based devices which they connect into a server. For the communication layer is being used sockets as also Rest API. With that being said for the data management NGXS was used as a more easier approach compared to Rxjs which sometimes is too much. Also it's integrated NG-Zorro for more cool ready to use components, as also Angular-Material for more awesomeness.
This project was generated with ngX-Rocket version 5.3.0
This project was made as a showcase and only that. It will not dynamically gonna control any Arduino based devices. It requires a specific functionality for the Arduinos, as also the server behind all to rule them all.
- Go to project folder and install dependencies:
npm install
- Launch development server, and open
localhost:4200
in your browser:
npm start
Task automation is based on NPM scripts.
Task | Description |
---|---|
npm start |
Run development server on http://localhost:4200/ |
npm run serve:sw |
Run test server on http://localhost:4200/ with service worker enabled |
npm run build [-- --configuration=production] |
Lint code and build web app for production (with AOT) in www/ folder |
npm run cordova:prepare |
Prepare for building mobile app (restore Cordova platforms and plugins) |
npm run cordova:run <ios/android> [--device] |
Run app on target platform device or simulator |
npm run cordova:build [-- --configuration=production] |
Build mobile app for production in dist/ folder |
npm run cordova:clean |
Removes www/ , platforms/ and plugins/ folders |
npm test |
Run unit tests via Karma in watch mode |
npm run test:ci |
Lint code and run unit tests once for continuous integration |
npm run e2e |
Run e2e tests using Protractor |
npm run lint |
Lint code |
npm run translations:extract |
Extract strings from code and templates to src/app/translations/template.json |
npm run docs |
Display project documentation |
npm run prettier |
Automatically format all .ts , .js & .scss files |
Development, build and quality processes are based on angular-cli and NPM scripts, which includes:
- Optimized build and bundling process with Webpack
- Development server with backend proxy and live reload
- Cross-browser CSS with autoprefixer and browserslist
- Asset revisioning for better cache management
- Unit tests using Jasmine and Karma
- End-to-end tests using Protractor
- Static code analysis: TSLint, Codelyzer, Stylelint and HTMLHint
- Local knowledgebase server using Hads
- Automatic code formatting with Prettier