Increment 3 - ratnavalli24/ASE-Project GitHub Wiki
INCREMENT 3 REPORT
PROJECT TITLE : THE ROVER
Module : Travel and Tourism
PROJECT TEAM # : 8
MEMBER 1 : AVASARALA, RATNAVALLI (2)
MEMBER 2 : THOUTULA, SINDHUJA (43)
MEMBER 3 : JYOSHI, HARISH CHANDRA (9)
MEMBER 4 : KOLLA, SAI NAGARJUNA (12)
1.Introduction:
2. Project Goal and Objectives:
2.1 Motivation:
To provide the travel assistance to travellers in planning the tour, acquiring accommodation and the transportation facilities and also to overcome the difficulties faced by them like the language barrier and the restaurant/food availabilities, search for the tourist attractions has motivated us to develop an app with all the requirements integrated with Augmented Reality, which would help them to give a best travel experience.
2.2 Significance/uniqueness:
This system has all the travel support and guidance options with augmented reality feature integrated into a single platform.
2.3 Objective:
Our idea is to develop a web application for tourist attractions and implement augmented reality on it for a better tourist experience by integrating various facilities on a single platform.
2.4 System Features:
•The user can login using any social networking sites like google or facebook or create an account and get assistance about the places he is planning to have a tour.
•Using Augmented Reality get the nearby attractions using the current location of the user.
•The user can decide whether or not to visit a place by checking it's positive score on sentiment analysis API based on collected Twitter data.
•Travellers can use the inbuilt translate and visual recognition APIs when there travel to a different country or a remote location.
•Obtain the weather Forecast even before reaching the destination in an interactive way.
Existing Services/REST API
In this project we made use of the following APIs:
1)The Google Maps GeoLocation API:
A successful geolocation request will return a JSON-formatted response defining a location and radius.
Location: The user’s estimated latitude and longitude, in degrees. Contains one latitude and one longitude subfield.
Accuracy: The accuracy of the estimated location, in meters. This represents the radius of a circle around the given location.
2)OpenWeatherMap API:
It is used to predict the weather in a particular place, depending on which one can plan a tour.
3)UClassify Sentiment Analysis API:
UClassify API is a machine learning web service API used to create and share the classifiers, i.e for the free text classification.
4)Translate YANDEX API:
This API supports more than 90 languages and can translate separate words or complete texts. We used this API to translate in a mobile app or web service for end users.
5)Clarifai Visual Recognition API:
This API has got the Camera feature in it through which it is possible to capture things and know the particulars about it which would be a great comfort to a travel person during his travel time.
6)Wikitude for ionic framework:
Wikitude is a mobile augmented reality (AR) technology provider. Wikitude initially focused on providing location-based augmented reality experiences through the Wikitude World Browser App. The Wikitude SDK is the company's core product. The SDK includes image recognition & tracking, 3D model rendering, video overlay, location based AR, and SLAM technology (Simultaneous Localization And Mapping) which enables object recognition and tracking, as well as markerless instant tracking.
Detail Design of Features (using tools)
Wireframes:
Login Wireframe:
Login Activity Performed:
Wireframe of the Page using APIs:
Architecture Diagram:
Sequence Diagram:
Sequence diagram of User Register and Login
Class Diagram:
Testing
The unit tests are performed using karma and jasmine plugins in Webstorm.The steps are mentioned as below:
1.We have written 3 unit test cases for the login page using karma and jasmine framework.
2.Navigate to the Ionic project and go to the node_modules folder.
3.Install the karma and jasmine modules.
4.Now create karma.conf JS file using.
5.Add the files of source and test cases into the karma config file.
6.Now create three test cases in an angular js file.
7.We have created test cases for username and password to check if the username is empty, the password is empty and both username, the password is empty.
8.Test cases are executed through the karma.conf.js file and results are executed in the console
Unit testing
Performance Testing:
1.Installed the YSlow extension for chrome browser and started the application.
2.We can see the results, grades and statistics of the application from the Yslow.
Graded C in Login Page:
Login Page Statistical Report:
Graded C in Home Page:
Home Page Statistical Report:
Implementation & Deployement (using Android/Angular.js/Bootstrap)
Login/Register Page:
1.Created an ionic application with a blank template.
2.Created a login and register page with email and password as the inputs.
3.Created a project in the Firebase and authenticate with the login and register page created in ionic.
4.The user can register with the email and password that will be stored in the firebase cloud.
5.After registering, the user can login with the email and password created and navigate to the Home Screen
Login Page:
Firebase Authentication:
Here is the history of the Login details stored in Firebase.
After the user logins to the app, he can make use of all the services that are made available in the app. After signing in, the user will be redirected to the homepage.
Home Page:
Here we used different APIs for translating text, weather information, sentimental analysis and visual recognition and below are the screenshots attached.
Step 1) Visual Recognition:
Here we made use of Clarifai visual recognition API where we used the camera feature for capturing the images and thereby predicting the connected things, objects and any particulars to that of the image captured.
Step 2) Alert: Image uploaded
Step 3) Prediction performed using the Clarifai API:
Sentiment Analysis/ Translate/ Weather API:
Here we used UClassify Sentiment Analysis API along with the OpenWeatherMap API and the Translate Yandex API.
Google Geo Location API:
In this increment, we also made use of Google Geo Location API where we get the current location.
We developed the project in ionic framework. Following are the screenshots of the app in web browser.
Augmented Reality:
We used wikitude SDK for ionic to get nearby restaurants and gas stations in Augumented Reality. Following are the screenshots of Augumented Reality View.
2.5 Deployment:
We deployed our app to smart phone. Following are the screenshots.
We also deployed our service into Heroku server.
Here is the link of app running in Heroku server.
https://whispering-wildwood-11675.herokuapp.com/#/firebase
Project Management:
Following are the screenshots of the Issues and Burndown chart in ZENHUB:
Implementation status report:
Work completed:
Augumented reality: Developed augumented reality application using wikitude SDK. This feature will be get nearby restaurants and gas stations.
Responsibility (Task, Person): Harish– Designed and implemented and feature. (100%)
Time taken (#hours): 21 days
Changing UI: Changed the user interface to deploy it into the mobile.
Responsibility (Task, Person): Sindhuja and Ratnavalli- changed the user interface
Time taken (#hours): 21 days
Contributions (members/percentage): Ratnavalli - 50%, Sindhuja - 50%
Heroku server: deployed the service in Heroku server and installed required dependencies.
Responsibility (Task, Person): Nagarjuna and Sindhuja -Installed required dependencies.
Time taken (#hours): 10 days
Contributions (members/percentage): Nagarjuna - 50%, Sindhuja - 50%
Deploying in mobile: deployed the application in mobile.
Responsibility (Task, Person): Ratnavalli-deployed the app in android platform and fixed some errors in the process.
Time taken (#hours): 3 days
Contributions (members/percentage): Ratnavalli - 100%.
Detailed Design Of Wireframes: Gives us the basic layout of the application being created, i.e the basic process used to create the key structure of the page before even the content gets added.
Responsibility (Task, Person): Design of the Login wireframe and the Application based wireframe.
Time taken (#hours): 3days
Contributions (members/percentage): Nagarjuna-100%
CLass, Sequence, Architecture Diagrams: They give the structure of the application by showing the classes etc.
Responsibility (Task, Person): Design of the Architecture, Class and Sequence diagrams.
Time taken (#hours): 3days
Contributions (members/percentage): Ratnavalli-50%, Sindhuja-50%
Google Geo-Location API: This API performs a major role in our project as tracing a location is the main activity performed in any of the travel apps.
Responsibility (Task, Person): Developing the code for the Google Geo Location API.
Time taken (#hours): 5days
Contributions (members/percentage): Harish - 100%
Clarifai Visual Recognition API: This API is used to enable the camera feature in our application being created, plays the next vital role in it.
Responsibility (Task, Person): Developing the code for the Clarifai Visual Recognition API.
Time taken (#hours): 4days
Contributions (members/percentage): Ratnavalli - 100%
Translate YANDEX API: This API here is used for the text translation from one language to any which is the basic essential need for any traveler.
Responsibility (Task, Person): Developing the code for this API and linking this to others.
Time taken (#hours): 3days
Contributions (members/percentage): Sindhuja - 100%
Uclassify Sentiment Analysis API: Adds the sentiment analysis feature to the application.
Responsibility (Task, Person): Development of Code
Time taken (#hours): 5days
Contributions (members/percentage): Nagarjuna - 100%
Open Weather Map API: Predicts the weather of a particular place even before the visit to make the travel comfortable.
Responsibility (Task, Person): Developing the code.
Time taken (#hours): 4days
Contributions (members/percentage): Harish- 50%, Sindhuja- 50%
Login Page: Designing the Login Page of the application in android.
Time taken (#hours): 2days
Contributions (members/percentage): Ratnavalli- 50%, Nagarjuna- 50%
Home Page: Design of Home Page for the application.
Time taken (#hours): 3days
Contributions (members/percentage): Harish- 100%
Testing Activity: Performing the unit and the performance testing activities.
Time taken (#hours): 2days
Contributions (members/percentage): Sindhuja- 50%, Harish - 50%
Firebase Authentication: Ratnavalli- 50%, Nagarjuna- 50%
Documentation: Equally shared among all the 4 team members.
Harish- 25%, Nagarjuna- 25%, Sindhuja- 25%, Ratnavalli- 25%
Concerns
Facing some issues while integrating the wikitude.
Future work:
Need to implement social media analysis, will be completed in 3 days.
Bibliography
Source code
https://github.com/ratnavalli24/ASE-Project/tree/master/Increment%203/Wikitude%20AR
https://github.com/ratnavalli24/ASE-Project/tree/master/Increment%203/source