Smart Plug

Project Details

Purpose of this project

The main purpose of this project is to assess the agility and efficiency of using a cross platform mobile development framework.

Project Description

Having chosen Ionic as the CP framework, we aim to assess its capabilities and vulnerabilities by focusing on the main goals:

  • Verify whether the mobile application development can be facilitated and speeded up by developing an application for different mobile platforms;
  • Focus on user interface and user experience by designing and implementing the application interface as close as possible to native;
  • Test the possibilities of interaction with device hardware by accessing smartphone sensors;
  • Use the app to communicate with external components.

To verify the communication with external components we are going to use smart plugs. A smart plug it’s a simple-to-use device that you can plug into any open outlet, giving you control of whatever is plugged into it. In our case study, we will use a lamp and the developed application will have the features for turn it on/off, control its power, schedule it and read a certain value from the electronic device and store it in the device's storage (in a future phase, this values must be stored in a cloud-based environment). In the case the API we need to do this is not available, we will test the external communication by making web services requests.

Project Source Code

Source Code


Phase 1 - Analysis and Planning [July 15 to July 26] - (1,5 WEEK)

  • Tutor meeting and goals definition
  • Project planning
  • Creation of the project wiki page
  • State of the art of the cross platforms mobile development frameworks/platforms
  • Analysis, comparison and selection of the framework
  • Set up the work environment:
    • Install Ionic and Cordova frameworks and its dependencies
    • Install IDE (Webstorms)
  • First approach to Ionic:
    • Create a "hello world" project
    • Test and look and feel analysis on Android/iOS devices
    • Convert Ionic project to Android/iOS project in order to make native adjustments
  • Initial Presentation

Phase 2 - Application Design [July 27 to August 2] - (1 WEEK)

  • Improve HTML, CSS, JavaScript? skills
  • Design application mockups for Android and iOS
  • Storyboarding
  • Select Ionic/Cordova? libraries and plugins

Phase 3 - Implementation [August 3 to August 16] - (4 WEEKS)

  • Develop the Web API using nodejs, express and MongoDB
  • Develop the application interface focusing on UI/UX and making the application look native
  • Develop the application features that communicate with external components using web services
  • Develop the application features that enable the access to smartphone sensors

Phase 4 - Tests and Documentation [August 31 to September 15] - (2,5 WEEKS)

  • Global Tests
  • Improvement of design and usability
  • Report about cross-mobile platform development frameworks
  • Final Presentation

Link Example?

Weekly Reports

Week 1 - July 15 to July 17

  • "State of the art" of the cross-platforms mobile development frameworks;
  • Installation and configuration of Phonegap, Phonegap App, Webstorm;
  • "Hello World" project.

Week 2 - July 20 to July 24

Trainee details

Trainee Name

David Honório

Past Experience

Current Situation

I’m a BSc graduated student in Computer Science and Business Management, ISCTE - University Institute of Lisbon.

Motivation for the Project

  • Earn experience in a professional environment
  • Sharpen HTML, CSS, JS skills
  • Acquire more knowledge in mobile development
  • Enjoying the Summer by working in a young and dynamic team


Vitor Martins

Last modified 4 years ago Last modified on Aug 14, 2015, 11:23:03 PM