ZCity Final - Copy
description
Transcript of ZCity Final - Copy
-
CITYMAKERS A PROJECT REPORT
Submitted by
AKSHAY JOSHI
PARTH CHOKSHI
BHAUMIK SUTHAR
In fulfilment for the award of the degree
Of
BACHELOR OF ENGINEERING
In
Computer Engineering
Sardar Vallabhbhai Patel Institute of Technology, Vasad
Gujarat Technological University, Ahmedabad
Under the guidance of
Asst. Prof. Mr. Keyur Suthar
&
AT
eChai Ventures, Ahmedabad
Under the guidance of
Mr. Kunal Chaudhari
Mr. Jatin Chaudhary
MAY 2015
-
GUJARAT TECHNOLOGICAL UNIVERSITYCERTIFICATE FOR COMPLETION OF ALL ACTIVITIES AT ONLINE PROJECT PORTAL
B.E. SEMESTER VIII, ACADEMIC YEAR 2014-2015
Date of certificate generation : 26 May 2015 ( 2:43)
Plagiarism Search Report
Final Project Report
Patent Drafting Exercise (PDE)
Business Model Canvas (Report)
Business Model Canvas (Image)
Submitted Four Periodic Progress Reports (PPR)
Uploaded
Uploaded
Completed
Uploaded
Uploaded
Completed
This is to certify that, Akshay Udaybhai Joshi (Enrolment Number-110410107035) working on project entitled with City Makers from Computer Engineering department of Sardar Vallabhbhai Patel Institute Of Technology, Vasad had submitted following details at online project portal.
Name of Student :
Signature of Student :
Akshay Udaybhai Joshi
*Signature of Guide :
Name of Guide : Mr. Keyur Sureshbhai Suthar
This is a computer generated copy and does not indicate that your data has been evaluated. This is the receipt that GTU has received a copy of the data that you have uploaded and submitted as your project work.
Disclaimer :
*Guide has to sign the certificate, Only if all above activities has been Completed / Uploaded.
-
GUJARAT TECHNOLOGICAL UNIVERSITYCERTIFICATE FOR COMPLETION OF ALL ACTIVITIES AT ONLINE PROJECT PORTAL
B.E. SEMESTER VIII, ACADEMIC YEAR 2014-2015
Date of certificate generation : 26 May 2015 ( 2:45)
Plagiarism Search Report
Final Project Report
Patent Drafting Exercise (PDE)
Business Model Canvas (Report)
Business Model Canvas (Image)
Submitted Four Periodic Progress Reports (PPR)
Uploaded
Uploaded
Completed
Uploaded
Uploaded
Completed
This is to certify that, Parth Pareshkumar Chokshi (Enrolment Number-110410107043) working on project entitled with City Makers from Computer Engineering department of Sardar Vallabhbhai Patel Institute Of Technology, Vasad had submitted following details at online project portal.
Name of Student :
Signature of Student :
Parth Pareshkumar Chokshi
*Signature of Guide :
Name of Guide : Mr. Keyur Sureshbhai Suthar
This is a computer generated copy and does not indicate that your data has been evaluated. This is the receipt that GTU has received a copy of the data that you have uploaded and submitted as your project work.
Disclaimer :
*Guide has to sign the certificate, Only if all above activities has been Completed / Uploaded.
-
GUJARAT TECHNOLOGICAL UNIVERSITYCERTIFICATE FOR COMPLETION OF ALL ACTIVITIES AT ONLINE PROJECT PORTAL
B.E. SEMESTER VIII, ACADEMIC YEAR 2014-2015
Date of certificate generation : 26 May 2015 ( 2:45)
Plagiarism Search Report
Final Project Report
Patent Drafting Exercise (PDE)
Business Model Canvas (Report)
Business Model Canvas (Image)
Submitted Four Periodic Progress Reports (PPR)
Uploaded
Uploaded
Completed
Uploaded
Uploaded
Completed
This is to certify that, Bhaumik Dharmendrakumar Suthar (Enrolment Number-110410107052) working on project entitled with City Makers from Computer Engineering department of Sardar Vallabhbhai Patel Institute Of Technology, Vasad had submitted following details at online project portal.
Name of Student :
Signature of Student :
Bhaumik Dharmendrakumar Suthar
*Signature of Guide :
Name of Guide : Mr. Keyur Sureshbhai Suthar
This is a computer generated copy and does not indicate that your data has been evaluated. This is the receipt that GTU has received a copy of the data that you have uploaded and submitted as your project work.
Disclaimer :
*Guide has to sign the certificate, Only if all above activities has been Completed / Uploaded.
-
www.plagiarism-detect.comDate: 25.5.2015 Words: 6142
Plagiarised sources: 36
Plagiarised: 3%
http://adrianmejia.com/blog/2011/08/11/ruby-on-rails-
architectural-design plagiarised from source: 2%
1. This framework is becoming very popular in the
2. development due to its productivity and agility
3. This convention eliminates configuration code and increases
4. are built-in in the framework to work out-of-the
5. how the elements are named and organized and so
6. The above-described features are distributed in
7. following Rails components and the
http://git-scm.com/
plagiarised from source: 1%
1. everything from small to very large projects with speed and
2. features like cheap local branching, convenient staging areas, and multiple
3. control system designed to handle everything from
4. to very large projects with speed and
http://devfreebooks.
org/git plagiarised
from source: 1%
1. everything from small to very large projects with speed and
2. control system designed to handle everything from
3. to very large projects with speed and
http://c2.com/cgi/wiki?GitVersio
nControl plagiarised from
source: 1%
1. everything from small to very large projects with speed and
2. control system designed to handle everything from
3. to very large projects with speed and
http://www.case-inc.com/blog/git-in-
AEC-industry plagiarised from source:
1%
1. everything from small to very large projects with speed and
2. control system designed to handle everything from
3. to very large projects with speed and
http://www.itjungle.com/fhg/fhg021015-
story03.html plagiarised from source: 1%
1. everything from small to very large projects with speed and
2. features like cheap local branching, convenient staging areas, and multiple
3. to very large projects with speed and
Plagiarism Report
-
http://www.mu.ac.in/myweb_test/MCA study material/M.C.A.(Sem - IV) Object Oriented
Modeling & Design
Using UML.pdf
plagiarised from source: 1%
1. of activity diagrams are similar to other four
2. It captures the dynamic behavior of the
3. Other four diagrams are used to show the message
http://www.ijrte.org/attachments/File/v1i5/E03
66101512.pdf plagiarised from source: >1%
1. It captures the dynamic behavior of the
2. Other four diagrams are used to show the message
http://goel.io/7-software-writing-rules/
plagiarised from source: >1%
1. everything from small to very large projects with speed and
2. to very large projects with speed and
http://www.slideshare.net/YaswanthBabu1/business-analyst-
documentation plagiarised from source: >1%
1. of activity diagrams are similar to other four
2. It captures the dynamic behavior of the
http://www.slideshare.net/YaswanthBabu1/uml-
diagrams-41344825 plagiarised from source: >1%
1. of activity diagrams are similar to other four
2. Other four diagrams are used to show the message
http://www.tutorialspoint.com/uml/uml_activity_
diagram.htm plagiarised from source: >1%
1. of activity diagrams are similar to other four
2. Other four diagrams are used to show the message
https://www.rescuetime.com/int
egrations/git plagiarised from
source: >1%
1. everything from small to very large projects with speed and
2. to very large projects with speed and
https://avlux.net/h
osting/scm
plagiarised from
source: >1%
1. features like cheap local branching, convenient staging areas, and multiple
https://www.webtools.ncsu.edu/gi
thub/faq.php plagiarised from
source: >1%
1. features like cheap local branching, convenient staging areas, and multiple
https://www.qnap.com/i/en/app_center/con_show.php?op=showone&internalName=git&ver
sion=1.8.4.2-1&do wn_1_name=TS-NASX86&jump_win=1
plagiarised from source: >1%
-
1. features like cheap local branching, convenient staging areas, and multiple
https://www.openconext.org/source
s/working-git plagiarised from
source: >1%
1. control system designed to handle everything from
https://chacadwa.com/articl
es/sysadmin plagiarised
from source: >1%
1. control system designed to handle everything from
http://www.researchgate.net/post/What_is_the_most_probable_programming_language_to_shi
ne_on_the_web_P HP_or_RubyOnRails_or_even_PythonDjango
plagiarised from source: >1%
1. development due to its productivity and agility
http://devfreecast
s.org/git
plagiarised from
source: >1%
1. control system designed to handle everything from
https://kb.asmallorange.com/customer/portal/articles/1783988-git-
availability-and-info plagiarised from source: >1%
1. to very large projects with speed and
http://en.wikipedia.org/wiki/Incremental_
build_model plagiarised from source:
>1%
1. of introducing a completely new system all at
http://istqbexamcertification.com/what-is-incremental-model-advantages-disadvantages-and-
when-to-use-it/
plagiarised from source: >1%
1. model is more flexible less costly to change scope and requirements
http://macet.edu.in/IT\2012-
13_Even\III_IT\16_Marks\CS63_OOAD_16 Marks.pdf plagiarised
from source: >1%
1. of activity diagrams are similar to other four
http://v1.wcsit.org/media/pub/2013/vol.3.no.2/Mobile Application for Diabetes Risk Diagnosis
and Information
Based on
Android.pdf
plagiarised from
source: >1%
1. of activity diagrams are similar to other four
http://www.opensourcebrain.org/docs/Help/Backgrou
nd_Information plagiarised from source: >1%
1. everything from small to very large projects with speed and
http://www.slideshare.net/KathyayaniPadira/documen
-
t12-finalfinalll plagiarised from source: >1%
1. Other four diagrams are used to show the message
https://www.rosehosting.com/blog/how-to-install-configure-and-use-git-on-an-ubuntu-14-04-
lts-vps/
plagiarised from source: >1%
1. features like cheap local branching, convenient staging areas, and multiple
http://spectrumalm.com/tools/open-source-tools/
plagiarised from source: >1%
1. features like cheap local branching, convenient staging areas, and multiple
http://scialert.net/fulltext/?doi=jse.2011.2
0.37&org=10 plagiarised from source:
>1%
1. It captures the dynamic behavior of the
http://dl.acm.org/citation.cfm?id=2744525.2744539
plagiarised from source: >1%
1. It captures the dynamic behavior of the
http://link.springer.com/article/10.1023/B:OPTE.0000013633.3518
4.6d plagiarised from source: >1%
1. It captures the dynamic behavior of the
http://linoxide.com/linux-how-to/serve-git-repositories-gitblit/
plagiarised from source: >1%
1. features like cheap local branching, convenient staging areas, and multiple
http://bionetics.org/2014/show/exhibit-and-
demo plagiarised from source: >1%
1. It captures the dynamic behavior of the
https://sankartech.wordpress.com/2013/09/07/activity-diagram/
plagiarised from source: >1%
1. It captures the dynamic behavior of the
http://curriculum.andela.co/
plagiarised from source: >1%
1. control system designed to handle everything from
-
GUJARAT TECHNOLOGICAL UNIVERSITY
Annexure 2 [UNDERTAKING ABOUT ORIGINALITY OF WORK]
*[Attach this certificate with Department/Guide /industry copy]
We hereby certify that we are the sole authors of this IDP/UDP project report and that neither any part
of this IDP/UDP project report nor the whole of the IDP/UDP Project report has been submitted for a
degree by other student(s) to any other University or Institution.
We certify that, to the best of our knowledge, the current IDP/UDP Project report does not infringe
upon anyones copyright nor violate any proprietary rights and that any ideas, techniques, quotations or
any other material from the work of other people included in our IDP/UDP Project report, published or
otherwise, are fully acknowledged in accordance with the standard referencing practices. Furthermore,
to the extent that we have included copyrighted material that surpasses the boundary of fair dealing
within the meaning of the Indian Copyright (Amendment) Act 2012, we certify that we have obtained a
written permission from the copyright owner(s) to include such material(s) in the current IDP/UDP
Project report and have included copies of such copyright clearances to our appendix.
We have checked the write up of the present IDP/UDP Project report using anti-plagiarism database and
it is in the allowable limit. In case of any complaints pertaining to plagiarism, we certify that we shall be
solely responsible for the same and we understand that as per norms, University can even revoke BE
degree conferred upon the student(s) submitting this IDP/UDP Project report, in case it is found to be
plagiarised.
Team:
Enrolment number Name Signature
Place: --------- Date: --------------
Name of Guide Signature of Guide
110410107035 Akshay Joshi110410107043
110410107052Parth ChokshiBhaumik Suthar
-
i
ACKNOWLEDGEMENT
At first well it seemed a difficult task but if one had a support like what we had, it seems nothing is
impossible. We consider us fortunate to be served this grand feast of knowledge and experience
for last precious months we spent at our college Sardar Vallabhbhai Patel Institute of
Technology, Vasad and also at eChai Ventures.
We are very much thankful to all those who were helpful to us during the development of the
project CityMakers. We are thankful to our internal project guide Prof. K. S. Suthar whose
presence has been highly beneficial to us in times of difficulties pertaining to the project.
We would also like to thank our H.O.D Prof. B. J. Talati for helping us in every possible way,
right from the very start. We are grateful to her for her prolonged interest in our work and
making us to come up with the best.
We are highly indebted to our External Guides, Mr. Jatin Chaudhary and Mr. Kunal
Chaudhari, at eChai Ventures, for bestowing their faith in us and providing us access to their
invaluable knowledge and expertise. They always made us feel a part of their company rather
than mere project trainee.
Thanking you,
Akshay joshi (110410107035)
Parth Chokshi (110410107043)
Bhaumik Suthar (110410107052)
-
ii
ABSTRACT
CITYMAKERS is a highly ambitious project of eChai Ventures, an established and
popular entrepreneurial venture. CITYMAKERS are the people who are the
building blocks of a city but are often neglected unless their service is required.
This project aims to map all low to middle class entrepreneurs whose virtual
presence is as important as their physical one. Its a common marketplace to list
and discover such common service providing entrepreneurs.
In this project we are building a scalable platform which connects the small
entrepreneurs to their customers with advanced mapping techniques built with the
help of Google MapsTM
APIs. All this service providers will be mapped on Web
App and Android Mobile App.
The Mobile app provides users the location of listed services through GPS based
service tracking of the CITYMAKERS.
-
iii
LIST OF FIGURES
Figure No. Figure Description Page No.
2.1 Incremental Model 7
2.2 Rails architecture 13
2.3 Entity-Relationship Diagram 17
2.4 Use Case Diagram (Registered User) 19
2.5 Use Case Diagram (Guest User) 20
2.6 Activity Diagram of User(s) 22
2.7 Business Model Canvas 25
2.8 Product Development Canvas 25
3.1 - 3.14 System Implementation 30-34
3.14 - 3.19 Testing 41-43
-
iv
LIST OF TABLES
Table No. Table Description Page No.
2.1 Project Scheduling 8
2.2 Data Dictionary - CityMakers 23
2.3 Data Dictionary - User 23
2.4 Data Dictionary - Place 23
2.5 Data Dictionary - Rate & Review 23
2.6 Data Dictionary - Authentication Provider 24
2.7 Data Dictionary - Authentication 24
3.1 Test Case1 39
3.2 Test Case 2 39
3.3 Test Case 3 40
-
v
TABLE OF CONTENTS
LIST OF FIGURES I
LIST OF TABLES II
TABLE OF CONTENT III
ACKNOWLEDGEMENT
Chapter 1: Introduction 1
1.1 Definition 2
1.2 Purpose 2
1.3 Scope 2
1.4 Objectives 2
1.5 Project Duration 2
Chapter 2: Design Analysis And Implementation Strategy 3
2.1 Feasibility Study 4
2.2 Project Planning
2.3 System Requirement specifications
5
10
2.4 Literature Review And System Analysis 12
2.5 System Design 16
2.6 Canvas 25
Chapter 3: Development Model 26
3.1 Coding 27
3.2 System Implementation (Snapshots) 30
3.3 Testing 35
Chapter 4: Summary, Limitations And Future Enhancements 44
4.1 Assistance Provided By Our System 45
4.2 Limitations And Future Enhancements 45
BIBLIOGRAPHY 46
ANNEXURE 47
NOTATIONS 48
-
Page | 1 CityMakers
CHAPTER 1
INTRODUCTION
-
Page | 2 CityMakers
1.1 DEFINITION
CityMakers - a highly ambitious project of eChai ventures. CityMakers are the people who are
the cornerstone of a city but are often neglected unless their service is required. Its a common
marketplace to list and discover such plebeian service providing entrepreneurs.
1.2 PURPOSE
As per our knowledge, there is no specific mapping, listing platform in existence that could
provide solution to small scale entrepreneurs for their online presence.
Our vision:
-to create an Online Virtual Globe
-to innovate the way makers of the city have been approached.
Why Google Maps?
THE optimal option.Can handle more than 125000 map transactions a year for free. Provides
premium mapping services and offers added functionality and features.
1.3 SCOPE
- System can be used as virtual globe to locate and approach makers of the City.
- System can be accessed round the clock on Web & Mobile Platforms using Internet
Connection.
- GPS enabled device is preferable for accurate navigation & other location services.
- System maintains rating & review for quality services.
1.4 OBJECTIVE
To provide a single platform for users to discover plebian service providers using Google
Maps.
1.5 PROJECT DURATION
Project duration is of 12 months starting from June 2014 to May2015.
-
Page | 3 CityMakers
CHAPTER 2
DESIGN ANALYSIS AND IMPLEMENTATION
STRATEGY
-
Page | 4 CityMakers
2.1 FEASIBILITY STUDY
An important outcome of the preliminary investigation is the determination that the
system is feasible or not. The main aim of the feasibility study activity is to determine whether
it would be financially and technically feasible to develop a project .The feasibility study
activity involves the analysis of the problem and collection of all relevant information relating
to the product such as the different data items which would be input to the system, the
processing required to be carried out on these data, the output required to be produced by the
system as well as the various constraints on the behavior of the system .During feasibility
study most of the high level architectural design decisions are made.
2.1.1 OPERATIONAL FEASIBILITY:
The System is maintained by users & admin which leaves negligible chance of any error or false
information in the system. The back-end technology is scalable to cope up with increasing user
base and enables system to perform seamlessly.
2.1.2 TECHNICAL FEASIBILITY
-The System is built on robust pillars of RoR.
-RoR being recognized as one of the most trusted platform to build apps, holds prominent
online presence and community, which is available for help 24 X 7.
2.1.3 MARKET FEASIBILITY:
-The System discovers the market targeting small entrepreneurs, first of its kind, making it it's
USP.
-The System is built with Trusted technologies like Google APIs, Amazon Web Services &
MySQL for reliable performance.
2.1.4 FINANCIAL & ECONOMICAL FEASIBILITY:
The project gains Capital with the help of Google Adsense, which far exceeds the expenses
incurred in Domain renewal, Web Hosting, Listing of CityMakers and Maintenance.
-
Page | 5 CityMakers
2.2 PROJECT PLANNING:
As Project planning is perhaps one of the most important works in developing any project.
Project planning is concerned with identifying and measuring activities, milestones and
estimating some basic attributes of the project
Cost: how much will it cost to develop the project?
Duration: How long will it take to complete the development?
Efforts: How much efforts would be required?
The effectiveness of the subsequent planning activities is based on the accuracy of this
estimation.
Scheduling man power and other resources
Staff organization and staffing plan
Risk identification, analysis and abatement planning
Miscellaneous plans such as quality assurance plan, configuration management, Plan,
etc.
Project management involves planning, monitoring and control of people, process and the
events that occurs as software evolves from a preliminary concept to an operational
implementation. Cost estimation is a related activity that is concerned with estimating the
resources to accomplish the project plan. Software project management is an umbrella activity
within software engineering. It begins any technical activity is initiated and continues
throughout the definition, development and Support of computer software.
Project must be organized into effective teams, motivated to do high quality software work and
coordinated to achieve effective communication. The product requirement must be
communicated from customer to develop, partitioned into their constituted parts and position
for work by the software team. The process framework is selected and appropriate software
engineering paradigm is applied and set of work, task is chosen to get the work done. The
project must be organized in a manner that enables the software team to succeed. A project
management activity encompasses measurement and matrix, estimation, risk analysis,
schedules, tracking, and control.
-
Page | 6 CityMakers
2.2.1 PROJECT DEVELOPMENT APPROACH AND JUSTIFICATION
Our project is developed using specific software development lifecycle. Software
development approach best suited for the project depends on the requirement and other
factors. A process model is a development strategy that is used to achieve a goal that satisfies
the requirements abiding by the constraints.
There are many types of Software Process Model like:
1. Spiral Model
2. Linear Sequential Model
3. RAD Model
4. Incremental Model
We have used the Incremental Model for our project.
Incremental Model:
The incremental build model is a method of software development where the product is
designed, implemented and tested incrementally (a little more is added each time) until the
product is finished. It involves both development and maintenance. The product is defined as
finished when it satisfies all of its requirements. This model combines the elements of the
waterfall model with the iterative philosophy of prototyping.
The product is decomposed into a number of components, each of which is designed and built
separately (termed as builds). Each component is delivered to the client when it is complete.
This allows partial utilization of the product and avoids a long development time. It also avoids
a large initial capital outlay and subsequent long waiting period. This model of development
also helps ease the traumatic effect of introducing a completely new system all at once.
-
Page | 7 CityMakers
Advantages of Incremental model:
Generates working software quickly and early during the software life cycle.
This model is more flexible less costly to change scope and requirements.
It is easier to test and debug during a smaller iteration.
In this model customer can respond to each built.
Easier to manage risk because risky pieces are identified and handled during its iteration.
Fig. 2.1 Incremental Model
-
Page | 8 CityMakers
2.2.2 PROJECT PLAN
The key to the development of a successful project is the well planned strategy for optimal use
of resources available.
Understand use of the project
Understand the need of client and make changes to the Raw Project and collect data
accordingly.
Analysis of the data gathered.
Selection of platform for development.
Development of the new application
Testing
2.2.3 PROJECT SCHEDULING:
1. Project Definition
2. Training
3. Project Analysis
4. Feasibility Study
5. Canvas Design
6. Product Design
7. Product Development
8. Testing
Table 2.1 Project Scheduling.
June July August September October November December January February March April May
1 2 2,3 2,4 2,5,6 6 6,7 6,7 6,7 6,7 7,8 8
-
Page | 9 CityMakers
2.2.4 ROLES AND RESPONSIBILITIES
Following are our project members with their roles and their responsibilities in the project.
Akshay Joshi:
Market Research, Requirement Gathering & Analysis, System Designing, Offline Listing of
CityMakers.
Development Roles:
- Web App Development: Database Designing, Front end Development, User Experience
Designing
- Mobile App Development: Front end Development
Testing & improvising, Maintenance, Marketing & Branding
Parth Chokshi:
Market Research, Requirement Gathering & Analysis, System Designing, Offline Listing of
CityMakers.
- Development Roles:
Web App Development: Back end Development, User Interface Designing, RESTful API
integration.
- Mobile App Development: Back end Development, User Experience Designing,
RESTful API integration.
Testing & improvising, Maintenance, Marketing & Branding
Bhaumik Suthar:
Market Research, Requirement Gathering & Analysis, System Designing, Offline Listing of
CityMakers.
Development Roles:
- Web App Development: Front end Development, User Interface Designing, Google
Maps integration
- Mobile App Development: User Interface Designing, Google Maps for Mobile
Integration
Testing & improvising, Maintenance, Marketing & Branding
-
Page | 10 CityMakers
2.3 SYSTEM REQUREMENT SPECIFICATIONS
2.3.1 FUNCTIONAL REQUIREMENTS
Functional requirements are the requirements, which are specified by the user. This type of
requirement is necessary for the system to work as a users need. This requirement represents
functional behavior of the system.
CityMakers (Main Module)
Listing Listing of CityMakers.
CityMakers Dedicated page for CityMakers, containing all the information about
CityMaker
Add CityMaker(Check in location of city maker) Add CityMaker to the system
using check in location.
Edit CityMakers Edit existing CityMaker profile.
Delete CityMakers Delete CityMaker profile.
Location Service
Location Check In Checking in location using Google Maps in to the system.
Google Maps API Integration of Google Maps APIs to get web services from Google
Maps TM
.
Other Maps services Directions, Current location, Custom Map Making.
User authentication and Authorization
User Registration User Registration form
User Login User login, session control, Authentication and Authorization
Third Party Authentication Third Party Authentication and Authorization Twitter,
Google+, Facebook.
API mobile apps
Google Maps for Mobile Integration of Google Maps for Mobile APIs for mobile
app.
Mobile Apps Sharing Extended Sharing options for social sharing on Mobile app.
Rating & Reviews and Social sharing
Ratings Ratings and profile verification.
Reviews Reviews, Add/Edit/Delete Reviews
Social Sharing & Third Party APIs Social Sharing APIs and Third Party APIs.
-
Page | 11 CityMakers
2.3.2 NON-FUNCTIONAL REQUIREMENTS:
Various properties of a system can be: Reliability, response time,
storage requirements. And constrains of the system can be: Input and
Output device capability, system representations etc.
Process requirements may also specify programming language or development
method.
Non-Functional requirements are more critical than functional requirements. If
the non-functional requirements do not meet than the complete system is of no use.
They are as follows:
Performance
It should not slow-down the system even at peak hours without affecting the quality of
service of the system.
Security
The system should provide a secure login to the users by using advanced secure login
algorithms and provide access only to the authorized users as security is the key
requirement of this system
Safety
The user cannot see the system source code and thus when browsing no changes
can be made into the system. When the session gets timed out or the user logs off,
after that, the query string supposedly obtained using unfair means will be of no
use as the session variables are removed and there is no existence of the data
present which can be manipulated.
User Interfaces
The system should be user friendly and very easily graspable system, easy to use at
the client side.
Reliability Requirements
Validation is the main reliability requirement that is used in the system. Without proper
validation, system does not allow to enter the value in the database. For e.g. there is
validation which checks proper E-mail address, Phone Number. Also while adding a
new user the system checks and allows only unique username to be assigned to new
users. The session gets expired when the system is not being used for more than the
session time-out time. The system source code is not available for user when browsing.
Fault Tolerance and Error Reporting
In case of a node failure the user can report the error to the Admin and moderator
so they can fix it.
-
Page | 12 CityMakers
2.3.3 HARDWARE REQUIREMENTS
1.6 GHz or faster processor.
512 of RAM (1.5 GB if running on a virtual machine).
20 GB of available hard disk space.
2.3.4 SOFTWARE REQUIREMENTS
Ubuntu 10.4
Linux server
Sublime text
Ruby
Rails Framework
GIT
Web Services (Google Maps)
2.4 LITERATURE REVIEW AND SYSTEM ANALYSIS
2.4.1 RUBY ON RAILS ARCHITECTURAL
Ruby on Rails is a web development framework for database back-ended applications. This
framework is becoming very popular in the agile development due to its productivity and
agility features. Ruby on Rails have built-in solutions to many common problems that
developer face during web development. Furthermore, this framework favors convention over
configuration, which makes the web development more agile. Additionally, these conventions
make the web applications more maintainable as well, because the developers adopt the Rails
convention and sensitive defaults.
The Ruby on Rails framework was designed for database-backed web applications. It was
created as a response to heavy web frameworks such as J2EE and the .NET framework. In
order to make the development process faster, Ruby on Rails uses conventions and assumptions
that are considered best ways to accomplish tasks, and its designed to encourage those. This
convention eliminates configuration code and increases productivity. Many of the common
tasks for web development are built-in in the framework to work out-of-the-box. This includes
email management, object-database mappers, file structures, code generation, how the elements
are named and organized and so on. All of these conventions allow developers to write less
-
Page | 13 CityMakers
code and develop agile applications. Additionally, the enhance maintainability and
understandability around the Ruby on Rails developers community.
Fig. 2.2 Rails Architecture
Ruby on Rails architecture has the following features:
Model-View-Controller architecture.
Representational State Transfer (REST) for web services.
Supports the major databases (MySQL, Oracle, MS SQL Server, PostgreSQL, IBM
DB2, and more).
Open-source server side scripting language.
Convention over configuration
Scripts generators to automate tasks.
Use of YAML machine, which is a human-readable data serialization format.
The above-described features are distributed in the following Rails components and the Fig.
2 shows the interaction between some of these components:
Action Mailer
Action Pack
-
Page | 14 CityMakers
Action Controller
Action Dispatcher
Action View
Active Model
Active Record
Active Resource
Active Support
Railties
2.4.2 GIT:
Git is a free and open source distributed version control system designed to handle everything
from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny
footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS,
Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and
multiple workflows. Git is a free and open source distributed version control system designed to
handle everything from small to very large projects with speed and efficiency. Git is easy to
learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like
Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient
staging areas, and multiple workflows.
2.4.3 SUBLIME TEXT:
Sublime Text is a sophisticated text editor for code, markup and prose.
You'll love the slick user interface, extraordinary features and amazing performance.
2.4.4 LIMITATIONS OF CURRENT SYSTEM:
Existing system is not dynamic and is also not developed in Open Source Tools which makes
user interaction tougher and developer maintenance.
2.4.6 REQUIREMENTS VALIDATION:
The requirements validation has been done and documents may be subject to validation and
verification procedures. The requirements may be validated to ensure that the software
-
Page | 15 CityMakers
engineer has understood the requirements, and it is also important to verify that a requirements
document conforms to company standards, and that it is understandable, consistent, and
complete.
2.4.7 PLATFORM DETAILS:
Hardware Interfaces
Minimum Server Requirement
Processor speed : 1.8 GHZ (Recommended)
Memory : 1 GB RAM (Recommended)
Hard Disk : 120 GB (Recommended)
Minimum Client Requirement
Processor : Pentium 4 (Recommended)
Memory : 256 MB RAM (Recommended)
Software Interfaces
Minimum Server Requirement
Development Tool :
Sublime text, Google Maps API, Git
Hub
Database server : MySQLite3,Prosgres
Technologies : Ruby on Rails
Minimum Client Requirement
Web Browser :
Internet Explorer 7.0 or other browser
-
Page | 16 CityMakers
2.5 SYSTEM DESIGN
2.5.1 Entity-Relationship DIAGRAM
An entity-relationship diagram (ERD) is a data modeling technique that graphically illustrates
an information systems entities and the relationships between those entities. An ERD is a
conceptual and representational model of data used to represent the entity framework
infrastructure.
The elements of an ERD are:
Entities
Relationships
Attributes
Steps involved in creating an ERD include:
Identifying and defining the entities
Determining all interactions between the entities
Analyzing the nature of interactions/determining the cardinality of the relationships
Creating the ERD
An entity is a real-world item or concept that exists on its own. Entities are equivalent to
database tables in a relational database, with each row of the table representing an instance of
that entity.
An attribute of an entity is a particular property that describes the entity. A relationship is the
association that describes the interaction between entities. Cardinality, in the context of ERD, is
the number of instances of one entity that can, or must, be associated with each instance of
another entity. In general, there may be one-to-one, one-to-many, or many-to-many
relationships.
Purpose:
ER diagrams constitute a very useful framework for creating and manipulating databases. First,
ER diagrams are easy to understand and do not require a person to undergo extensive training to
be able to work with it efficiently and accurately. This means that designers can use ER
diagrams to easily communicate with developers, customers, and end users, regardless of their
IT proficiency. Second, ER diagrams are readily translatable into relational tables which can be
used to quickly build databases. In addition, ER diagrams can directly be used by database
developers as the blueprint for implementing data in specific software applications. Lastly, ER
diagrams may be applied in other contexts such as describing the different relationships and
operations within an organization.
-
Page | 17 CityMakers
Figure 2.3: Entity-Relationship Diagram
-
Page | 18 CityMakers
2.5.2 USE CASE DIAGRAM
Use case Notation:
Use case is represented as an eclipse with a name inside it. It may contain
additional responsibilities.
Use case is used to capture high level functionalities of a system.
Actor Notation:
An actor can be defined as some internal or external entity that interacts with the system.
Actor is used in a use case diagram to describe the internal or external entities.
-
Page | 19 CityMakers
Figure 2.4: Use case Diagram(Registered User)
-
Page | 20 CityMakers
Figure 2.5: Use case Diagram(Guest User)
-
Page | 21 CityMakers
2.5.3 A C T I V I T Y DIAGRAM
Activity diagram is another important diagram in UML to describe dynamic aspects of the
system.
Activity diagram is basically a flow chart to represent the flow form one activity to another
activity. The activity can be described as an operation of the system.
So the control flow is drawn from one operation to another. This flow can be
sequential, branched or concurrent. Activity diagrams deals with all type of flow control by
using different elements like fork, join etc.
USE SYMBOL
Initial State
Activity
Decision
Flow of activity
Final State
-
Page | 22 CityMakers
Figure 2.6: Activity Diagram
-
Page | 23 CityMakers
2.5.4 DATA DICTIONARY:
Data Dictionary:
Table Description Entity
Entity
type Values/notes
Citymaker
Citymaker ID citymaker_id Int Primary Key
Citymaker Name citymaker_name Varchar
Citymaker
TypeCategory type Varchar
Latitude lattitude float
Longitude longitude float
Address postal address Varchar
Phone number phone Int
Availability Available Date&time
Table 2.2 Data Dictionary CityMakerTable
Table Description Entity
Entity
type Values/notes
User
User Id user_id Int Primary Key
User Name user_name Varchar
User email email Varchar
User Password password Varchar
User Profile Pic propic Image
Table 2.3 Data Dictionary User
Table Description Entity
Entity
type Values/notes
Place Place Name place_name Varchar
Table 2.4 Data Dictionary Place
Table Description Entity
Entity
type Values/notes
Rate
Rating rate Float
Reviews review Varchar
CItymaker Id citymaker_id Int Foriegn Key
User Id user_id Int Foriegn Key
Table 2.5 Data Dictionary Rate
-
Page | 24 CityMakers
Table Description Entity
Entity
type Values/notes
AuthProvider
Provider_Name
Api_Key
Provider_Id Primary Key
Table 2.6 Data Dictionary Authentication Provider
Table Description Entity
Entity
type Values/notes
Authenticate
User Id user_id Int Foriegn Key
auth provider Id auth_provider_Id Int Foriegn Key
auth token auth_token Varchar
auth expires auth_expires_at Date
Table 2.7 Data Dictionary - Authentication
-
Page | 25 CityMakers
2.6 CANVAS
Figure 2.7 Business Model canvas
Figure 2.8 Product Development Canvas
-
Page | 26 CityMakers
CHAPTER 3
IMPLEMENTATION
-
Page | 27 CityMakers
3.1 CODING STANDARDS
Rails is a web application development framework written in the Ruby language. It is designed
to make programming web applications easier by making assumptions about what every
developer needs to get started. It allows you to write less code while accomplishing more than
many other languages and frameworks. Experienced Rails developers also report that it makes
web application development more fun.
Rails is opinionated software. It makes the assumption that there is the "best" way to do things,
and it's designed to encourage that way - and in some cases to discourage alternatives. If you
learn "The Rails Way" you'll probably discover a tremendous increase in productivity. If you
persist in bringing old habits from other languages to your Rails development, and trying to use
patterns you learned elsewhere, you may have a less happy experience.
The Rails philosophy includes two major guiding principles:
Don't Repeat Yourself: DRY is a principle of software development which states that "Every
piece of knowledge must have a single, unambiguous, authoritative representation within a
system." By not writing the same information over and over again, our code is more
maintainable, more extensible, and less buggy.
Convention Over Configuration: Rails has opinions about the best way to do many things in a
web application, and defaults to this set of conventions, rather than require that you specify
every minutiae through endless configuration files.
Ruby on Rails coding standard
Code style
Use UTF-8. Its 21 century, 8bit encodings dead now.
Use 2 space indent, not tabs.
Use Unix-style line endings.
Keep lines not longer than 80 chars.
Remove trailing whitespace.
-
Page | 28 CityMakers
Development process
Think
Describe
Write tests
Implement & go green
Rethink
Refactor
MVC
Follow MVC conventions.
Do not ever mix logics: no model/view logic in controller, no view logic in model & etc.
Follow Fat model, skinny controllers methodology.
If you have different data representation, use format aliases (e.g. different html views
for same data: /users/:id.iphone).
Controllers
Keep it simple and clean.
Keep ApplicationController clean. Commonly it should be used only for global filters
and per-request logic (e.g locale configuration and access control).
Keep in mind that all ApplicationController filters will be executed in each request and
optimize it to be ultra-fast.
Controllers should operate with abstract logic. Keep this logic simple and
understandable without detailed review.
View interaction in controllers always should be placed in respond_to method or in
responders (for Rails 3).
Do not place any logic in respond_to method.
Prefer :except in filters. E.g.: before_filter :authorize!, :except => [:index] to be sure that
new actions will be covered by filter by default.
Follow REST convention: Commonly one controller should only operate one resource.
Follow REST convention naming. E.g.: UsersController should operate only users.
Groups operations should be placed in GroupsController.
Follow HTTP methods conventions in REST actions: DELETE for destructive
action, PUT for update, POST to create, GET to read.
Use nested resources when needed. E.g: map.resource :users {|user| user.resource
:groups }instead of groups action in UsersController.
-
Page | 29 CityMakers
Avoid deep nesting where its not necessary. E.g:
Not /places/:place_id/events/:event_id/usersbut /events/:event_id/users
Models
Keep it simple and clean.
Model, method and variable names should be obvious.
Do not use shortcuts and avoid non widely used abbreviation for model names. (e.g
UsrHst or UserHist should be UserHistory).
Dont repeat yourself.
Dont repeat rails. Zero custom code that duplicates rails built-in functionality.
If you use find with similar condition in more than once use named_scope.
If you use same code in more than one model turn it into module/library.
Prefer XML Builder over to_xml overrides.
Views
Views is for presentation. DO NOT EVER CHANGE STATE OF ANYTHING IN
VIEW.
Keep views simple.
Move complex logic to helpers.
Move HTML markup generation to helpers.
Do not use finders in views.
DRY. Use partials, but keep in mind that partials can be really slow.
Keep HTML markup semantic an clean.
Do not inline any Javascript code. It should be unobtrusive.
Tests
Follow Test Driven Development methodology: write tests, then code.
Keep tests simple and easy understandable.
Test everything what should be tested. If something can be broken: try to broke it by
test.
Do not test rails built-in methods, test method usage.
Comments and documentation
Respect other developers: use only English.
rdoc your friend, not enemy. Let application be self-documented.
More is better than less: its better to excess, than hold back.
-
Page | 30 CityMakers
3.2 SYSTEM IMPLEMENTATION (SNAPSHOTS)
Figure 3.1 Running Server
Figure 3.2 Home Page
Figure 3.3 Sign In Page
-
Page | 31 CityMakers
Figure 3.4 After Sign-In HomePage
Figure 3.5 CityMakers Listing
Figure 3.6 Adding a CityMaker
-
Page | 32 CityMakers
Figure 3.7 Categories
Figure 3.8 Adding a Category
Figure 3.9 CityMaker Page
-
Page | 33 CityMakers
Figure 3.10 CItyMaker on Map
Figure 3.11 Editing CityMaker
Figure 3.12 Deleting a CityMaker
-
Page | 34 CityMakers
Figure 3.13 CityMaker deleted!
Figure 3.14 CityMaker Search
-
Page | 35 CityMakers
3.3 TESTING
3.3.1 TEST PLANNING
Throughout the lifecycle of the system development, we consider some of the
Testing principles in our mind before applying methods to design effective test cases,
which are:
Tests should be planned before testing begins. Test planning can begin as soon as the
coding phase is complete.
The Pareto principle applies to software testing. The Pareto principle implies
that 80 percent of all errors uncovered during testing will likely be traceable to
20 percent of all program modules. The problem of course, is to isolate these
suspect modules and to thoroughly test them.
Testing should begin in the small and progress toward testing in the large.
The first tests planned and executed generally focus on individual program
modules. As testing progresses, testing shifts focus in an attempt to find errors in
integrated clusters of modules and ultimately in the entire system.
3.3.2 TESTING STRATEGY
Strategy of our software testing may be viewed as:
Unit Testing:
Unit testing begins at the vortex of the spiral and concentrates on each
unit of the software as implemented in source code.
Unit testing makes heavy use of white box testing techniques, exercising
specific paths in a modules control structure to ensure complete coverage
and maximum error detection.
Testing progresses by moving outwards along the spiral to integration testing
where our focus was on the design and the construction of software architecture.
We then encountered validation testing, where the requirements that we
had established as a part of the software requirement analysis were
validated against the software that had been constructed. Validation testing
-
Page | 36 CityMakers
ensures that the software meets all the functional requirements. Black box
testing is used widely during validation testing.
Finally we arrived at the system testing where the software and other
system elements are tested as a whole.
Black Box Testing:
Black box testing focuses on the functional requirements of the software .that is
black box testing enables the software engineer to derive set of input conditions that
will fully exercise all the functional requirements for the program, it uncovers
different class of errors than the white box ones.
Black box testing attempts to find out errors in the following categories:-
1. Incorrect or missing functions.
2. Interface errors.
3. Errors in data structures or external database access.
4. Behaviour or performance errors.
5. Initialization and termination errors.
White Box Testing
Logical paths through the software are tested by providing test cases that
exercise specific sets of conditions and loops. It uses control structures of the
procedural design to derive test case. Using White Box testing methods, the software
engineer can derive test cases that
1. Guarantee that all independent paths within a module have been exercised at
least once.
2. Exercise all the logical decision on the true and false sides.
3. Execute all the loops at their boundaries and within their operational bounds
-
Page | 37 CityMakers
3.3.3 TESTING METHODS
3.3.3.1 Unit Level Testing
The aim of unit testing is to find errors in the functionality of the unit module. In our system
unit level is testing work as a transaction and master tables was checked for its correctness in
accepting data, modification and deletion of each field. Entering a large number of records
checked through the system. Check was done that data is saved in the respective tables. The
code was checked for all events that no extra code or repeated codes are written. In our
system all the Check was done that proper comments are given wherever required.
3.3.3.2 Statistical Testing
Statistical Testing is used to test the programs performance and reliability and
to check how it works under operational conditions. Tests are designed to
reflect the actual user inputs and their frequency.
The stages involved in the static analysis for this system are follows.
Control flow analysis
1. Unreachable code
2. Unconditional branches into loops
Data use analysis
1. Variable used before initialization
2. Variables declared but never used
3. Variables assigned twice but never used between assignments
4. Possible array bound violations
Interface analysis
1. Parameter type mismatches
2. Parameter number mismatches
3. Non-usage of the results of functions
4. Uncalled functions and procedures
-
Page | 38 CityMakers
3.3.3.3 Defect Testing
Defect Testing is intended to find inconsistencies between a program and its
specification. These inconsistencies are usually due to the program faults or
defects.
3.3.3.4 Structural Testing
Path testing has been exercised i.e. every independent execution path
through a component or program has been tested. If every independent path is
executed then all Statements in the components must have been executed at
least once. The structure of program has also been checked.
3.3.3.5 Integration Testing
After the individual modules were tested out, the integration procedure is done
to create a complete system. This integration process involves building the
system and testing the resultant system for problems that arise from component
interactions.
3.3.3.6 Performance Testing
Performance testing is designed to test the runtime performance of the system
within the context of the system. These tests were performed as module level
as well as system level. Individual modules were tested for required
performance.
3.3.3.7 Condition Testing
Condition testing is a test case design method that exercises the logical
conditions contained in a program module. If the condition is incorrect, then at
least one part of the condition is incorrect. It may include
1. Boolean variable error.
2. Array Out Index Out of Bounds error.
3. String Index out of Bound error.
4. Null Pointer Assignment.
5. Input Output Connection Exception.
6. Parsing (conversion) error.
-
Page | 39 CityMakers
FOLLOWING ARE THE TEST CASES THAT WE HAVE DEVELOPED AFTER THE
IMPLEMENTATION.
Test Case ID Function Name
Test Case
(condition)
Expected
Results
Actual Result Pass/Fail
1
Validation for
Sign up
User enters
invalid email
id:prem
nathwani.com
Is invalid message
will be displayed.
Please review
problem below.
pass
3
Validation for
Email
No input for
email
Invalid email or
password message
will be displayed
Invalid email or
password. Pass
4
Email for Login
Input of valid
digits up to 10
character:abcd.1
Completed
successfully.
Welcome (given
email id) pass
5 Validation for
password
Enter
password:12345
6
8 characters
minimum message
will be display.
Please review the
problem below. pass
3.1 Test case 1
Browser name
Compitable Yes/No
Google chrome yes
Mozila firefox yes
Safari yes
Internet explore10
yes
Internet explore 9
yes
Internet explore 8
yes
Internet explore 7
Alert for
IE7
3.2 Test case2 (browser compatibility)
-
Page | 40 CityMakers
Resolutions compatible Yes/No
320
Yes
360 Yes
780 Yes
800 Yes
1024 Yes
1260 Yes
1366 Yes
1920 Yes
3.3 Test case3 ( Responsive)
In Software development errors can be introduced at any stage of development. Though errors
are detected after each phase by techniques like inspections, some errors still remain
undetected. Ultimately these undetected errors will be reflected in the code. Hence, the final
code is likely to have some requirements errors and design errors in addition to the errors
introduced during the coding activity. Hence testing performance plays a very critical role in the
quality assurance point of view. Testing involves the operation of system or application under
controlled conditions and evaluating the results. The controlled conditions should include both
the normal and abnormal conditions. Testing should intentionally attempt to make things go
wrong to determine if things happen when they shouldnt or things dont happen when they
should. This main purpose of this task is DETECTION. Testing is the process used to assess
the quality of the project that has been developed. Testing is an empirical technical
investigation conducted to provide stakeholders with information about the quality of the
product or service under test, with respect to the context in which it is desired to operate. This
includes the process of executing a program or application with the intent of finding the
software bugs and also the errors that may not have been detected.
-
Page | 41 CityMakers
FUNCTIONALITIES TO BE TESTED IN EACH MODULE
SIGN UP
Figure 3.15
AFTER SIGN UP
Figure 3.16
-
Page | 42 CityMakers
USER LOGIN
Figure 3.17
TEST TYPE OF INPUT IN EACH AND EVERY FIELD()
Figure 3.18
-
Page | 43 CityMakers
TEST THE DEPENDENCY (IF ANY)
Figure 3.19
-
Page | 44 CityMakers
CHAPTER 4
SUMMARY, LIMITAIONS AND FUTURE
ENHANCEMENTS
-
Page | 45 CityMakers
4.1 SUMMARY:
The online presence of small scale entrepreneurs, the CityMakers, will help them to increase
their demand and income. Users can easily look up from anywhere to find their necessary
plebeian services. The trusted and familiar look and feel of Google MapsTM
in backdrop of UI
will help users to navigate and locate the info easily and comfortably.. Users can rate and
review CityMakers, making it an online discovery guide providing information on-the-go.
Users need not be registered to look for CityMakers services. Users can share the requested
information via social media platforms
4.2 LIMITATIONS AND FUTURE ENHANCEMENTS
4.2.1 LIMITATIONS
The following are the limitations of our system:
Internet connection must be available with the customer for interacting with the
system.
Major limitation of the system is that it doesnt work in rural areas where there are less
internet and computer services.
4.2.2 FUTURE ENHANCEMENT
We think that not a single project is ever considered as complete forever because our mind is
always thinking something new and our necessities also are growing day by day. We always
want something new more than what we have. Our application also, if you see at the first
glance than you find it to be complete but we want to make it still mature and fully automatic.
Some of the expansions which we have thought of are:
Attractive Look and Feel.
Making an iOS app that can reach out to more audience.
Enhance security of the system.
Optimizing code to reduce response time.
Providing the transparency within the system.
-
Page | 46 CityMakers
BIBLIOGRAPHY
It is called that without describing the bibliographies; project Documentation cannot be
completed. It is well known thing that a Project cannot be completed without help
sources. There is no concept of a single man army during software development. This
section mainly provides the platform to share these types of things. In market there are a
lot of books on every topic to provide help, but the thing to Concern is that which book
provides a better clarification about a topic. In this regard a better selection of books
matters a lot because only solution of a problem does not matter but a right solution with
appropriate reasoning matters a lot.
REFERENCES:
1. http://railscasts.com
2. http://guides.rubyonrails.org
3. http://rubyonrails.org
4. http://www.codecademy.com
5. http://www.railstutorial.org/book
6. https://teamtreehouse.com/
BOOKS:
1. Agile Web Development with Rails 3.2 (Pragmatic Programmers) by Dave Thomas.
2. Ruby on Rails 3 Tutorial: Learn Rails by Example by Michael Hartl.
3. The Well-Grounded Rubyist by David A. Black.
4. The Rails 4 Way (3rd Edition) (Addison-Wesley Professional Ruby Series).
5. Crafting Rails 4 Applications: Expert Practices for Everyday Rails Development.
6. Getting Real by 37 Signals.
-
Page | 47 CityMakers
ANNEXURE
List of Abbreviations
SQL Structured Query Language
AJAX Asynchronous JavaScript and XML
GUI Graphical User Interface
SDLC Software Development Life Cycle
RAM Random Access Memory
ROM Read Only Memory
GB Giga Byte
MB Mega Byte
OS Operating System
IIS Internet Information Server
TCP Transmission Control Protocol
ROR Ruby On Rails
API Application Programming Interface
MVC Model View Control
-
Page | 48 CityMakers
Notations
Notations for Use Case Diagram
No. Notations Description
1
Actor
i.e. User interacting with
system
2
System Boundary
3
Communication link
between different Actor
and Use Cases
4
Use Case
-
Page | 49 CityMakers
Notations for Activity Diagram
No. Notations Description
1
start symbol
2
activity symbol
3
connector symbol
that show the
directional flow, or
control flow, of the
activity
4
join symbol that
combines two
concurrent activities
5
fork that splits a
single activity flow
into two concurrent
activities
6
decision symbol is a
diamond shape
7
end symbol
-
Page | 50 CityMakers
Notations for E-R Diagram
No. Notations Description
1
Any object , person,
place or class
2
Weak entity depends
on another entity
3
Primary key
4
Multivalued attribute
5
Derived attribute
6
Relations between
Entities
-
5/28/2015 PeriodicProgressReport(PPR)Details
http://projects.gtu.ac.in/SitePages/PeriodicProgressReportDetails.aspx?enc=76m7eC+UUGdRDZXwr4VtjEi4yGiM/XGNodLvJcKWv/c= 1/1
PeriodicProgessReport:FirstPPR
Project:
CityMakers
Status:Reviewed(Freeze)
WhatProgressyouhavemadeintheProject?
DesigingtheUIsofWebAppandMobileAppareunderprogress.
Whatchallengeyouhavefaced?
CantDecidebetweenFlatvsRealismideology.
Whatsupportyouneed?
Asofnowwedontneedanynewsupport.Theinternalguideandtheexternalguidesaredoingwellenoughtogetusgoingwiththeproject.
Whichliteratureyouhavereferred?
Google's guide to Material Design. An Introduction to Using Patterns inWeb Design by 37signals A shorthand fordesigningUIflowsbyRyan
CommentbyInternalGuide:
done
-
5/28/2015 PeriodicProgressReport(PPR)Details
http://projects.gtu.ac.in/SitePages/PeriodicProgressReportDetails.aspx?enc=2xbs0R5EdruxvRiO0dU3Ht3e/KnSg5q3DSUYIb5DXIY= 1/1
PeriodicProgessReport:SecondPPR
Project:
CityMakers
Status:Reviewed(Freeze)
WhatProgressyouhavemadeintheProject?
WearedonewithalltheUIsofwebappandmobileappandhavestartedwithbackendcoding.
Whatchallengeyouhavefaced?
Designing/developingUI'shasbeenapainstakinglythoroughandongoingprocess.Researchingand implementingUIhasbeenquite toughforus.Butwithperseveranceandsupportivenatureofguide,wehavesuccessfullypassedtheUIphase.TheintegrationofUIwithbackendwaschallenging.
Whatsupportyouneed?
Theinternalandexternalguideshavebeenmodestandtheirsupporthasbeenamajorpillarofourprogress.
Whichliteratureyouhavereferred?
Google'sguidetoMaterialDesign.GettingRealby37signals.
CommentbyInternalGuide:
doneagoodpracticeandgotmoreclearaboutprojects
-
5/28/2015 PeriodicProgressReport(PPR)Details
http://projects.gtu.ac.in/SitePages/PeriodicProgressReportDetails.aspx?enc=1POXV0qS91FcNm/FryB9W44FvdgCvQf2UyRPzHfCWtg= 1/1
PeriodicProgessReport:ThirdPPR
Project:
CityMakers
Status:Reviewed(Freeze)
WhatProgressyouhavemadeintheProject?
Weare almost donewith backend coding and the connection betweenWeb server andmobile app is successfullycompleted.
Whatchallengeyouhavefaced?
Building the interface betweenWeb server andmobile appwasa tough taskwhichwe completedwith the help ourinternalandexternalguides.
Whatsupportyouneed?
Theinternalandexternalguideshavebeenmodestandtheirsupporthasbeenamajorpillarofourprogress.
Whichliteratureyouhavereferred?
Google'sguidetoMaterialDesign.GettingRealby37signals.
CommentbyInternalGuide:
partiallycompletedaproject
-
5/28/2015 PeriodicProgressReport(PPR)Details
http://projects.gtu.ac.in/SitePages/PeriodicProgressReportDetails.aspx?enc=76m7eC+UUGdRDZXwr4VtjGjtRYPnJMOIxSz4SHOTwRk= 1/1
PeriodicProgessReport:ForthPPR
Project:
CityMakers
Status:Reviewed(Freeze)
WhatProgressyouhavemadeintheProject?
WeareperformingUnitTestingonwebapp.WillproceedtoWhiteBoxtestingsoon.
Whatchallengeyouhavefaced?
Designingandexecutionoftestswasquitedifficultinthebeginning.
Whatsupportyouneed?
Theinternalandexternalguideshavebeenmodestandtheirsupporthasbeenamajorpillarofourprogress.ExternalGuideshelpedustocarryouttestswiththeirexpertise.
Whichliteratureyouhavereferred?
guides.rubyonrails.org
CommentbyInternalGuide:
done
-
5/28/2015 PeriodicProgressReport(PPR)Details
http://projects.gtu.ac.in/SitePages/PeriodicProgressReportDetails.aspx?enc=0TpbHWK7GznzdB/7Pryd3oyXzqcfGNFXl8dUShRtXIE= 1/1
PeriodicProgessReport:FirstPPR
Project:
CityMakers
Status:Reviewed(Freeze)
WhatProgressyouhavemadeintheProject?
DesigingtheUIsofWebAppandMobileAppareunderprogress.
Whatchallengeyouhavefaced?
CantDecidebetweenFlatvsRealismideology.
Whatsupportyouneed?
Asofnowwedontneedanynewsupport.Theinternalguideandtheexternalguidesaredoingwellenoughtogetusgoingwiththeproject.
Whichliteratureyouhavereferred?
Google's guide to Material Design. An Introduction to Using Patterns inWeb Design by 37signals A shorthand fordesigningUIflowsbyRyan
CommentbyInternalGuide:
done
-
5/28/2015 PeriodicProgressReport(PPR)Details
http://projects.gtu.ac.in/SitePages/PeriodicProgressReportDetails.aspx?enc=QmpiqtK1wMN7NVk60z2gjhhgZD74SvCq1zdHl4n0E0c= 1/1
PeriodicProgessReport:SecondPPR
Project:
CityMakers
Status:Reviewed(Freeze)
WhatProgressyouhavemadeintheProject?
WearedonewithalltheUIsofwebappandmobileapp,wehavestartedwithbackendcodinganditsgoinggood.
Whatchallengeyouhavefaced?
DevelopmentofWebAppsandMobileAppsneeds tobestandardizedandhas tobeaccording to lateststandards.Bestpractices,supportforallbrowsers,responsivenessofthewebsiteandwebsitespeedoptimizationweresomeofthe challenging aspects. While talking about making of Mobile apps, in particular Android apps, making an appcompatiblewithalltheversionsofAndroidincludingGingerbread2.3waschallenging,duetooldAPI.
Whatsupportyouneed?
Asofnowwedontneedanynewsupport.Theinternalguideandtheexternalguidesaredoingwellenoughtogetusgoingwiththeproject.
Whichliteratureyouhavereferred?
Androidprogramming:TheBigNerdRanchGuide.FiveSimpleStepsHardboiledWebDesignHeadFirstRails
CommentbyInternalGuide:
doneagoodpracticeandgotmoreclearaboutprojects
-
5/28/2015 PeriodicProgressReport(PPR)Details
http://projects.gtu.ac.in/SitePages/PeriodicProgressReportDetails.aspx?enc=4n8a4dlgY52Y72UaUuxtiP4IccCgbuKGQyhjaZ19ZGw= 1/1
PeriodicProgessReport:ThirdPPR
Project:
CityMakers
Status:Reviewed(Freeze)
WhatProgressyouhavemadeintheProject?
WearealmostdonewithbackendcodingandthewebAPIismade,whichwillbefurtherusedbyMobileApptosyncthedata.
Whatchallengeyouhavefaced?
Afterinputtingthedatainwebserver,thenexttaskwastomakewebAPIandcallthedatainMobileApptosyncthedatabetweenwebandmobileapps,whichwasachallenge.Butwiththehelpofexternalguideandinternalguide,thetaskwasmadelesscomplexandwecouldcompletethetaskwithease.
Whatsupportyouneed?
Theinternalandexternalguideshavebeenmodestandtheirsupporthasbeenamajorpillarofourprogress.
Whichliteratureyouhavereferred?
Google'sguidetomaterialdesignandGettingrealby37signals.
CommentbyInternalGuide:
partiallycompletedaproject
-
5/28/2015 PeriodicProgressReport(PPR)Details
http://projects.gtu.ac.in/SitePages/PeriodicProgressReportDetails.aspx?enc=0TpbHWK7GznzdB/7Pryd3rSMsjSu4So79g9AZuUw5fE= 1/1
PeriodicProgessReport:ForthPPR
Project:
CityMakers
Status:Reviewed(Freeze)
WhatProgressyouhavemadeintheProject?
WeareperformingUnitTestingonwebapp.WillproceedtoWhiteBoxtestingsoon.
Whatchallengeyouhavefaced?
Designingandexecutionoftestswasquitedifficultinthebeginning.
Whatsupportyouneed?
Theinternalandexternalguideshavebeenmodestandtheirsupporthasbeenamajorpillarofourprogress.ExternalGuideshelpedustocarryouttestswiththeirexpertise.
Whichliteratureyouhavereferred?
guides.rubyonrails.org
CommentbyInternalGuide:
done
-
5/28/2015 PeriodicProgressReport(PPR)Details
http://projects.gtu.ac.in/SitePages/PeriodicProgressReportDetails.aspx?enc=/MccJKR1jTZol++1tyoZepUkOEwul280bIDFSw75FKw= 1/1
PeriodicProgessReport:FirstPPR
Project:
CityMakers
Status:Reviewed(Freeze)
WhatProgressyouhavemadeintheProject?
WearedonewithalltheUIsofwebappandmobileapp,wehavestartedwithbackendcodinganditsgoinggood.
Whatchallengeyouhavefaced?
Designing/developing an UI is tedious job, with such various methodologies, design philosophies, andtools/technologies,available rightnow, its tough tochoose theperfectmethods,perfectphilosophy,perfect tools forthe job!Researchingand implementingUIhasbeenquite tough forus,butwithconsistentperseveranceandguideswehavesuccessfullypassedtheUIphase.UIisintegratedwithbackend,theintegrationwaschallenging.
Whatsupportyouneed?
Asofnowwedontneedanynewsupport.Theinternalguideandtheexternalguidesaredoingwellenoughtogetusgoingwiththeproject.
Whichliteratureyouhavereferred?
Google's guide to Material Design. An Introduction to Using Patterns inWeb Design by 37signals A shorthand fordesigningUIflowsbyRyan
CommentbyInternalGuide:
doneagoodpracticeandgotmoreclearaboutprojects
-
5/28/2015 PeriodicProgressReport(PPR)Details
http://projects.gtu.ac.in/SitePages/PeriodicProgressReportDetails.aspx?enc=76m7eC+UUGdRDZXwr4VtjOqSLLob8f+WUY7PwxqCtjo= 1/1
PeriodicProgessReport:SecondPPR
Project:
CityMakers
Status:Reviewed(Freeze)
WhatProgressyouhavemadeintheProject?
WeareintegratingandexperimentingwithGoogleMapsAPIsandoverlaysofthemapstouseitforthewebappandmobileapp.
Whatchallengeyouhavefaced?
APIconfigurationandoverlayingwasabitchallenging.
Whatsupportyouneed?
Theinternalandexternalguideshavebeenmodestandtheirsupporthasbeenamajorpillarofourprogress.
Whichliteratureyouhavereferred?
https://developers.google.com/maps/support/
CommentbyInternalGuide:
done
-
5/28/2015 PeriodicProgressReport(PPR)Details
http://projects.gtu.ac.in/SitePages/PeriodicProgressReportDetails.aspx?enc=X1zdxkQ1RAa4kw7Va+rADgmifJyouNh8i3LD8wIXvJQ= 1/1
PeriodicProgessReport:ThirdPPR
Project:
CityMakers
Status:Reviewed(Freeze)
WhatProgressyouhavemadeintheProject?
Weare almost donewith backend coding and the connection betweenWeb server andmobile app is successfullycompleted.
Whatchallengeyouhavefaced?
Building the interface betweenWeb server andmobile appwasa tough taskwhichwe completedwith the help ourinternalandexternalguides.
Whatsupportyouneed?
Theinternalandexternalguideshavebeenmodestandtheirsupporthasbeenamajorpillarofourprogress.
Whichliteratureyouhavereferred?
Google'sguidetoMaterialDesign.GettingRealby37signals.
CommentbyInternalGuide:
partiallycompletedaproject
-
5/28/2015 PeriodicProgressReport(PPR)Details
http://projects.gtu.ac.in/SitePages/PeriodicProgressReportDetails.aspx?enc=tqGZRw2+89Tk138OkjVrqvpq2ttsKcW/7qA4SACJC/0= 1/1
PeriodicProgessReport:ForthPPR
Project:
CityMakers
Status:Reviewed(Freeze)
WhatProgressyouhavemadeintheProject?
WeareperformingUnitTestingonwebapp.WillproceedtoWhiteBoxtestingsoon.
Whatchallengeyouhavefaced?
Designingandexecutionoftestswasquitedifficultinthebeginning.
Whatsupportyouneed?
Theinternalandexternalguideshavebeenmodestandtheirsupporthasbeenamajorpillarofourprogress.ExternalGuideshelpedustocarryouttestswiththeirexpertise.
Whichliteratureyouhavereferred?
guides.rubyonrails.org
CommentbyInternalGuide:
done
-
Business Model Canvas (BMC):
The Business Model Canvas is used to validate the market significance of products and services,
taken up for the project in this case. Technology projects are often solutions or processes that
solve a technical problem. However the implementation for the market of such solutions also
requires that the problem solution is designed :
not only to overcome not just the technical barriers
but also to market-and-business related barriers of costs, customer-reach and
collaborations.
Thus a business model canvas can be used to visualize market problems and customer
expectations. This exercise will increase the market potential and penetration of technology
goods and services. This will make us more effective in market.
By doing this exercise we clear about what are our project partner, key activities,
Cost segments, relationship with the person which use our application..
1. Customer Segments: Customer Segment block is to present the list of Personas, organized by
Customer Segment. If you have more than one segment, it is always recommended to prioritize
them.
Who would you pitch first if you could only pitch one? Who next? And so forth
For whom are we creating value?
Who are our most important customers?
In our project this block contains following users:
Web and Smartphone Users
Tourists and travelers
Commuters
-
2. Value Propositions: The Value Propositions business block aims at providing answers to the
following questions:
What value do we deliver to the customer?
Which one of our customers problems are we helping to solve?
What bundles of products and services are we offering to each Customer Segment?
Which customer needs are we satisfying?
In CITYMAKERS, the Value Propositions business block contain:
Insights about services
Discovery of CITYMAKERS
Providing an online presence to the CITYMAKERS
Increasing reachability and accessibility of CITYMAKERS
3. Channels: This business block comprises of a list of important channels, linked to personas or
segments if they differ substantially. Make notes on what steps are relevant for each-
promotion, sales, service, etc. This business block provides answers to the following questions:
Through which channels do our Customer Segments want to be reached?
How are we reaching them now?
How are our channels integrated?
Which ones work best?
Which ones are most cost-efficient?
How are we integrating them with customer routines?
The channels paving way for our project are:
Web and Mobile App
-
Billboards
eChai
Social Media
Word of mouth
4. Customer Relationship: The customer relationship business block answers the following
questions:
What type of relationship does each of our Customer Segments expect us to establish
and maintain with them? Which ones have we established?
How are they integrated with the rest of our business model?
How costly are they?
In CITYMAKERS, customer relationship business block contain:
Personal Assistance
Co-creation
Promotion
6. Key Activities: The Key Activities block aims at answering the following set of questions in
your business model:
What Key Activities do our Value Propositions require?
Our Distribution Channels?
Customer Relationships?
Revenue streams?
In CITYMAKERS, Activities block contain following list of Activities:
-
Rating and reviewing CITYMAKERS
Deleting CITYMAKERS
Adding CITYMAKERS
Listing CITYMAKERS
Editing CITYMAKERS
7. Revenue Streams: Revenue Streams block of Business Model Canvas aims at answering the following questions:
For what value are our customers really willing to pay? For what do they currently pay? How are they currently paying? How would they prefer to pay? How much does each Revenue Stream contribute to overall revenues?
In CITYMAKERS, Revenue Streams block contain following list of Revenue Streams:
Adsense
Billboard Sponsors
8. Key Partnerships: It is always recommended to map Key Partners to Key Activities. If an
activity is key, its still part of your business model. This is a way to denote which specific
Partners are handling various Key Activities for you. This business block is intended to answer
the following questions:
Who are our Key Partners?
Who are our key suppliers?
Which Key Resources are we acquiring from partners?
Which Key Activities do partners perform?
In CITYMAKERS, Partners block contain following list of Partners:
CityMakers
Google Maps
-
Member Users
Sponsors
9. Cost Structure: Cost Structure business block provides a list of Cost Structure elements with
notes on their relationship to Key Activities. This block in the business model answers the
following questions:
What are the most important costs inherent in our business model?
Which Key Resources are most expensive?
Which Key Activities are most expensive?
Is your business more
In CITYMAKERS, Cost Structure business block contain following:
Google Maps API
Web Hosting
Billboards
-
GIC Patent Drafting Exercise Team ID:
FORM 1THE PATENTS ACT 1970
(39 OF 1970)&
THE PATENTS RULES, 2003APPLICATION FOR GRANT OF PATENT
(FOR OFFICE USE ONLY)Application No:Filing Date:Amount of Fee paid:CBR No:
GTU Innovation CouncilPatent Drafting Exercise (PDE)
18684
1. Applicant(s) :
ID Name Nationality Address Mobile No. Email
Bhaumik Dharmendrakumar Suthar
Computer Engineering , Sardar Vallabhbhai Patel Institute Of Technology, Vasad , Gujarat Technologycal University.
9601083205 [email protected]
Indian1
Parth Pareshkumar Chokshi
Computer Engineering , Sardar Vallabhbhai Patel Institute Of Technology, Vasad , Gujarat Technologycal University.
9662337701 [email protected]
Indian2
Akshay Udaybhai Joshi
Computer Engineering , Sardar Vallabhbhai Patel Institute Of Technology, Vasad , Gujarat Technologycal University.
9428792266 [email protected]
Indian3
2. Inventor(s):
This is just a mock Patent Drafting Exercise (PDE) for semester 8, BE students of GTU. These documents are not to be submitted with any patent office.
Note :Page 1 of 5
-
Mobile No. Email AddressNationalityNameID
Bhaumik Dharmendrakumar Suthar
Computer Engineering , Sardar Vallabhbhai Patel Institute Of Technology, Vasad , Gujarat Technologycal University.
9601083205 [email protected]
Indian1
Parth Pareshkumar Chokshi
Computer Engineering , Sardar Vallabhbhai Patel Institute Of Technology, Vasad , Gujarat Technologycal University.
9662337701 [email protected]
Indian2
Akshay Udaybhai Joshi
Computer Engineering , Sardar Vallabhbhai Patel Institute Of Technology, Vasad , Gujarat Technologycal University.
9428792266 [email protected]
Indian3
3. Title of Invention/Project:
City Makers
4. Address for correspondence of applicant/authorized patent agent in india
Name:
Address:
Mobile:
Email ID:
Bhaumik Dharmendrakumar Suthar
Computer Engineering , Sardar Vallabhbhai Patel Institute Of Technology, Vasad , Gujarat Technological University.
9601083205
5. Priority particulars of the application(S) field in convention country
Name of the Applicant Title of the InventionFiling DateApplication No.Country
N/AN/AN/AN/AN/A
6. Particulars for filing patent co-operation treaty (pct) national phase Application
International application number International filing date as alloted by the receiving office
N/A N/A
This is just a mock Patent Drafting Exercise (PDE) for semester 8, BE students of GTU. These documents are not to be submitted with any patent office.
Note :Page 2 of 5
-
7. Particulars for filing divisional application
Original(First) Application Number Date of filing of Original (first) application
N/A N/A
8. Particulars for filing patent of addition
Original(First) Application Number Date of filing of Original (first) application
N/A N/A
9. DECLARATIONS:
(i) Declaration by the inventor(s)
I/We, the above named inventor(s) is/are true & first inventor(s) for this invention and declare that the applicant(s).herein is/are my/our assignee or legal representative.Date : 28 - May - 2015
Signature & DateName
1 Bhaumik Dharmendrakumar Suthar
2 Parth Pareshkumar Chokshi
3 Akshay Udaybhai Joshi
(ii) Declaration by the applicant(s) in the convention country
I/We, the applicant(s) hereby declare(s) that:-
(iii) Declaration by the applicant(s)
I/We, the applicant (s) in the convention country declare that the applicant(s) herein is/are my/ourassignee or legal representative.applicant(s)
This is just a mock Patent Drafting Exercise (PDE) for semester 8, BE students of GTU. These documents are not to be submitted with any patent office.
Note :Page 3 of 5
-
I am/We in possession of the above mentioned invention.
The provisional/complete specification relating to the invention is filed with this aplication.
The invention as disclosed in the spcification uses the biological material from India and the necessary permission from the competent authority shall be submitted by me/us before the grant of patent to me/us.
There is no lawful ground of objection to the grant of the patent to me/us.
I am/we are the assignee or the legal representative of true & first inventors.
The application or each of the application,particulars of each are given in the para 5 was the first applicatin in the convention country/countries in respect of my/our invention.
The application or each of the application,particulars of each are given in the para 5 was the first applicatin in the convention country/countries in respect of my/our invention.
I/we claim the priority from the above mentioned applications(s) filed in the convention country/countries & state that no application for protection in respect of invention had been made in a convention country before that date by me/us or by any person
My/Our application in india is based on international application under Patent Cooperation Treaty (PCT) as mentioned in para 6
The application is divided out of my/our application(s) particulars of which are given in para 7 and pray that this application may be treated as deemed to have been filed on ___________under section 16 of the Act.
The said invention is an improvement in or modification of the invention particulars of ehivh are given in para 8.
(a) Provisional specification/Complete specification
(b) Complete specification(In confirmation with the international application) / as amended before the international Preliminary Examination Authority (IPEA),as applicable(2 copies),No.of pages.....No.of claims.....
(c) Drawings (In confirmation with the i