/fd-vue-webapp

A Vue.js web application for Freedomotic Open IoT framework

Primary LanguageVueGNU Affero General Public License v3.0AGPL-3.0

fd-vue-webapp

A Vue.js client for Freedomotic


Build Status Heroku Codacy Badge Code Triagers Badge

Scope of the project

This repository contains the implementation of a front end client for Freedomotic.
The aim of this project is to reproduce all features already integrated in our Java frontend, that's available here.

To have a broad idea about its features you can have a look at our YouTube channel.

Live demo

A live demo of this client is available at http://fd-vue-webapp.herokuapp.com/. Check it out using admin/admin as credentials!

To view the mobile version (different for iOS and Android) visit the previous url from your smartphone or tablet.

Pre-requirements

In order to execute this fd-vue-webapp client locally, first you need to download and launch an instance of Freedomotic on your machine. Freedomotic is a framework built in Java, so the only pre-requirement to make it running is to have a Jre8 installation on your machine.

Download and launch the latest build of the framework

You can download the latest available daily build available here

The zipped version of this daily build contains a jar file, named freedomotic.jar that you can run by executing the following command:

java -jar freedomotic.jar

Freedomotic RESTful endpoints

Once launched, a local setup of Freedomotic RESTful APIs will be available at localhost:9111.

Freedomotic Polymer client, an inspiration

Some time ago we developed a first client prototype using Polymer (here it is a brief video showing its features). With a running freedomotic instance, you can try also this Polymer client by your browser to http://localhost:8090. Polymer client source code is hosted here on GitHub: maybe you can look at it to have some inspiration.

WARNING: At the moment that project is deprecated.

fd-vue-webapp

Technical notes

The scaffolding of this front end application has been done using vue-cli. For detailed explanation on how things work, checkout the guide and docs for vue-loader.

How to launch it

Clone or fork this repository, then follows the following set of commands:

# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

Build for production with minification

To build this project for production you can execute the following command:

    npm run build

Also, if you need to build for production and view the bundle analyzer report, you can run:

    npm run build --report

Testing fd-vue-webapp

This application contains both unit and end to end tests. You can run them by executing, respectively, the following commands:

# run unit tests
npm run unit
# run e2e tests
npm run e2e

Eventually, if you like, you can also run both unit and e2e tests with a single command:

npm test

alt tag

We have a free Automate account with BrowserStack offered to us for free since we're an open source project. This makes it very easy for us to test the project on tons of different browsers on various platforms including real mobile devices.

Contributing

If you like to contribute to this project, please follow our guidelines, available here.