Professional Documents
Culture Documents
Cycle Renting System
Cycle Renting System
Submitted By:
(101803007) Shubham Sharma
(101853012) Manav Bansal
(101853013) Arjun Mittu
(101853018) Tanmay Agarwal
ABSTRACT ................................................................................................................... i
ACKNOWLEDGEMENT………………………………………………………………iii
LIST OF TABLES ....................................................................................................... iv
LIST OF FIGURES ....................................................................................................... v
LIST OF ABBREVIATIONS ........................................................................................ v
1. INTRODUCTION 1-7
1.1 Project Overview 1-3
1.1.1 Technical Terminology 2
1.1.2 Problem Statement 3
1.1.3 Goal 3
1.1.4 Solution 3
1.2 Need Analysis 4
1.3 Research Gaps 4
1.4 Problem Definition and Scope 5
1.5 Assumptions and Constraints 5
1.6 Standards 6
1.7 Approved Objectives 6
1.8 Methodology Used 7
1.9 Project Outcomes and Deliverables 7
1.10 Novelty of Work 7
2. REQUIREMENT ANALYSIS 8-17
2.1 Literature Survey 8-12
2.1.1 Theory Associated with Problem Area 8
2.1.2 Existing Systems and Solutions 8
2.1.3 Research Findings For Existing Literature 9
2.1.4 Problem Definition 12
i
2.1.5 Survey of Tools and Technologies Used 12
2.1.6 Summary 12
2.2 Software Requirements Specification 13-17
2.2.1 Introduction 13
2.2.1.1 Purpose 13
2.2.1.2 Intended Audience and Reading Suggestions 13
2.2.1.3 Project Scope 13
2.2.2 Overall Description 14
2.2.2.1 Product Perspective 14
2.2.2.2 Product Features 14
2.2.3 External Interface Requirements 14-15
2.2.3.1 User Interfaces 14
2.2.3.2 Hardware Interfaces 15
2.2.3.3 Software Interfaces 15
2.2.4 Other Non-Functional Requirements 15
2.2.4.1 Performance Requirements 15
2.2.4.2 Safety Requirements 15
2.2.4.3 Security Requirements 15
2.3 Cost Analysis 16
2.4 Risk Analysis 17
3. METHODOLGY ADOPTED 18-19
3.1 Investigative Techniques 18
3.2 Proposed Solution 18
3.3 Work Breakdown Structure 19
3.4 Tools and Technologies Used 19
4. DESIGN SPECIFICATIONS 21-37
4.1 System Architecture 21
4.2 Design Level Diagrams 22
4.3 User Interface Diagrams 37
ii
5. IMPLEMENTATION AND EXPERIMENTAL RESULTS 38-54
5.1 Experimental Setup 38
5.2 Experimental Analysis 39
5.2.1 Data 39
5.2.2 Performance Parameters 39
5.3 Working of the Project 40-46
5.3.1 Procedural Workflow 40
5.3.2 Algorithmic Approaches Used 41
5.3.3 Project Deployment 45
5.3.4 System Screenshots 46
5.4 Testing Process 51-52
5.4.1 Test Plan 51
5.4.2 Features To be Used 51
5.4.3 Test Strategy 51
5.4.4 Test Techniques 51
5.4.5 Test Cases 52
5.4.6 Test Results 52
5.5 Results and Discussions 53
5.6 Inferences Drawn 53
5.7 Validation of Objectives 54
6. CONCLUSIONS AND FUTURE DIRECTIONS 55-56
6.1 Conclusions 55
6.2 Environmental, Economic and Social Benefits 55
6.3 Reflections 56
6.4 Future Work 56
7. PROJECT METRICS 57-62
7.1 Challenges Faced 57
7.2 Relevant Subjects 58
7.3 Interdisciplinary Knowledge Sharing 58
iii
7.4 Peer Assessment Matrix 59
7.5 Role Playing and Work Schedule 59
7.6 Student Outcomes and Performance Indicators (A-K Mapping) 60
7.7 Brief Analytical Statement 62
APPENDIX A: REFERNCES 64
APPENDIX B: PLAGIARISM REPORT 65
iv
ABSTRACT
А biсyсle-shаring system is а service where in bicycles аre made аvаilаble fоr shаred use tо
individuаls оn а shоrt term bаsis fоr а small amount, or free of cost. The ascent of bike rental
companies in India has brought a phenomenal change and has opened door for all the bicycle fans
to commute from one place to another with ease. Bicycle lovers, students, members of an
organization, explorers, understudies and working individuals are the intended interest group of
this venture. Contingent upon the necessities and inclination, one can lease a wide assortment of
bicycles for wanted time spans. The expense of leasing a bike relies upon the time frame and sort
of bike one picks up on the basis of his requirements.
The bike docks are setup at the key locations for issuing bikes and travelling from one place to
another by paying a small amount for the same. Machine learming used to analyze data which
provides adaptability and measured quality with the goal to provide users and customers with an
exhilarating and a euphoric ride experience.
It will provide the user with the safest commute solution through a user-friendly mobile application
to enable shared, solo and sustainable commuting.
Making this whole system eco-friendly encourages a healthier lifestyle being cost effective, this
is a very innovative way of reusing unused bicycles. Аs саmрuses соntinue tо fосus оn
sustainability, while improving the quality оf life fоr students, fасulty, аnd stаff оn саmрus, bike
shаre will соntinue tо be раrt оf the solution fоr mаny universities, colleges and organizations.
v
DECLARATION
We hereby deсlаre thаt the wоrking рrоtоtyрe design рrinсiрles аnd mоdel оf the рrоjeсt entitled
Сyсle Renting System is аn аuthentiс reсоrd оf оur оwn wоrk саrried оut in the Соmрuter Sсienсe
аnd Engineering Deраrtment, TIET, Раtiаlа, under the guidаnсe оf Dr. Rаvinder Kumаr during 7th
Semester (2021).
Date: 17-12-2021
vi
ACKNOWLEDGEMENT
We wоuld like tо exрress оut thаnks tо оur mentоr Dr. Rаvinder Kumаr. He hаs been оf greаt
helр in оur venture, аnd аn indisрensаble resоurсe оf teсhniсаl knоwledge. He is truly аn
аmаzing mentоr tо hаve.
We аre аlsо thаnkful tо the entire fасulty аnd stаff оf the Соmрuter Sсienсe аnd Engineering
Deраrtment, аnd аlsо оur friends whо devоted their vаluаble time аnd helрed us in аll роssible
wаys tоwаrds the suссessful соmрletiоn оf this рrоjeсt. We thаnk аll thоse whо hаve соntributed
either direсtly оr indireсtly tо this рrоjeсt.
Lаstly, we wоuld аlsо like tо thаnk оur fаmilies fоr their unyielding lоve аnd enсоurаgement.
They аlwаys wаnted the best fоr us аnd we аdmire their determinаtiоn аnd sасrifiсe.
Date: 17-12-2021
vii
LIST OF TABLES
viii
LIST OF FIGURES
ix
Figure 5.4 Scanned Screen Algorithm 42
x
LIST OF ABBREVATIONS
xi
CHAPTER 1: INTRODUCTION
Imagine completing a 15-minute walk within your college campus premises in just a few minutes
when you are very late or tired without breaking a sweat without maintaining it. Yes, this is possible
to do so.
A technology driven mobility platform will be implemented under which we would be taking up
leftover cycles in hostels which will lead to a pollution free as well as hassle free mobility. Cycles
can be used by the students/faculty/non-faculty members of TIET. Cycle zones would be located
at all the appropriate locations for a smooth, affordable and convenient travel. An extremely
efficient and IOT based solution will be implemented to prevent any foul use of the cycles. It will
provide the user with the safest commute solution through a user-friendly mobile application to
enable shared, solo and sustainable commuting.
Making this whole system eco-friendly encourages a healthier lifestyle being cost effective, this
is a very innovative way of reusing unused bicycles. As universities and colleges continue to focus
on sustainability while improving the quality of life for students, faculty, and staff, bike sharing
will remain a viable option for many.
ESP 12E Wifi module: The ESP-12E is a commercially available small Wi-Fi module that
is used to link a microcontroller or CPU to a wireless network. The ESP-12E is based on the
ESP8266EX, a wireless SoC with excellent integration (System on Chip). It may be used to
add Wi-Fi capability into systems or operate as a stand-alone program. It is a low-cost
alternative for developing IoT applications.
Arduino: Arduino is a free and open-source platform for building electrical projects. Arduino
consists of a hardware programmable circuit board (also known as a microcontroller) and
software (referred to as an IDE) that runs on your computer and is used to write and upload
computer code to the physical board.
1
Neo 6M Module: This item has a larger built-in 25 x 25mm active GPS antenna with a UART
TTL connection, and it uses the most up-to-date technology to deliver the best possible
positioning data. You'll also get a battery to assist you achieve a GPS lock faster. This is a
GPS module for the ardupilot mega v2 platform that has been enhanced. This GPS module
offers the most precise position data, improving the performance of your Ardupilot or any
Multirotor control platform.
Servo Motor: A servomotor is a linear or rotary actuator that can regulate position,
acceleration, and velocity in linear or angular directions with precision. A motor and a
position feedback sensor make up the device. It also demands a sophisticated controller,
which is often a separate module designed specifically for servomotors.
Johnny Five JavaScript Library: Johnny-Five is a framework for NodeBots that provides
a common API and platform across a range of hardware platforms. The Arduino Language,
which is based on C/C++, is commonly used to programme Arduino devices. Because of their
restricted capabilities, like as low memory and CPU speed, other languages can't be used to
create programmes for specific electrical devices.
React Native Library: React Native, an open-source UI software framework, was created
by Meta Platforms, Inc. It enables developers to create apps for Android, macOS, tvOS,
Android TV, Web, Windows, and UWP using the React framework in conjunction with
native platform capabilities.
Expo-Cli: Expo CLI is a command-line programme that acts as the principal interface
between Expo utilities and developers. It may be used for a variety of things, including
starting new initiatives. The development process includes stages such as launching the
project server, analysing logs, and executing your application in a simulator.
Mongo DB: MongoDB is a free and open source NoSQL database management system.
NoSQL databases are replacing traditional relational databases. NoSQL databases make
working with large amounts of distributed data a snap. MongoDB is a document-oriented
database management system that can store and retrieve documents.
2
1.1.2 Problem Statement
Every controlled environment - University campuses, Office complexes- possesses the problem of
deficient intra-campus travel options. The requirement for this short-distance travel is frequent.
With increasing concerns of the environment, as well as growing volumes of the people needing
to use short-distance transport, a critical need is to come up with an innovative solution that
promotes greener methods of travel while being socio-economically feasible.
1.1.3 Goal
The project aims to create a cycle renting system inside the controlled campuses which could be
further extended to organizations and office spaces. For the interface the creation off smart bicycle
lock is desired coupled with a software application to act as an interface between the bicycle and
the users. For creating this system from scratch, our principal effort would be to split the working
into three different stages: hardware level, software level, and eventually integrating locks onto the
bicycles. The hardware phase would consist of constructing and assembling the lock as well as
interfacing the software with the hardware system. Eventually to check our system the whole model
needs to be tested for the best results.
1.1.4 Solution
The complete system is modelled as follows: enlisting dumped cycles on to the system and making
them available on the dock stations to be setup at different location in the campus, security would
be guaranteed by smart locks that would be attached to the dock, digital payment through credits
and wallet for a hassle free experience and analysis of data through machine learning techniques
to provide better solutions for the availability of cycles to enable an effective commuting facility
in the campus.
3
competing for the privilege of storing a vehicle that is only used 3–4 times a month.
3. The lаndsсарe and model settings. mрuses tyрiсаlly hаvе lаyоut аnd lаnd uses thаt supроrt
biking аnd wаlking оvеr оthеr trаnsport mоdes. Ridesharing is trаnsit-friendly.
Ridesharing is an excellent complement to a city- oruniversity-sponsored transit system.
Ridesharing fills in the gaps where traditional transportation systems miss the mark.
4. Bike sharing reduces the number of abandoned bicycles. аmрuses frequently discover bikes
abandoned on buses, tethered to existing tracks, sign posts, and other locations.
5. We discovered that biking reduces traffic, reduces energy usage, reduces harmful gas
emissions, improves public health in general, and promotes economic growth.
6. We discovered that biking reduces traffic, reduces energy usage, reduces harmful gas
emissions, improves public health in general, and promotes economic growth.
7. The bicycle sharing system is becoming increasingly popular as a means of addressing
issues such as CO2 emissions and traffic congestion.
8. Bike sharing systems, according to the National Association of City Transportation
Officials (NACTO), boost bicycle visibility, making riding safer for everyone. More
people riding bikes in cities leads to better biking and walking infrastructure,
according to studies.
4
(months to years). The fee can be paid completely at once or in instalments. A portion of
the cost of purchasing and using a personal bicycle. Users of these systems may be
required by regulations.
Given cycling's favourable social and environmental effects, high levels of cycle
ownership and use are highly desired in any country seeking to promote equitable growth
and long-term mobility. This is not the situation in India, though. India is seeing a modest
increase in bike ownership and a drop in cycle use as a source of transportation.
Riding's popularity as a method of transportation in Indian cities has been continuously
diminishing, even though typical journey lengths in these areas are ideal for cycling. Indian
cities are also seeing a decrease in household cycle ownership.
Every controlled environment - University campuses, Office complexes- possesses the problem
of deficient intra-campus travel options. The requirement for this short-distance travel is frequent.
With increasing concerns of the environment, as well as growing volumes of the people needing
to use short-distance transport, a critical need is to come up with an innovative solution that
promotes greener methods of travel while being socio-economically feasible.
Bengaluru is making a number of strides in bicycle sharing system, whilst Chandigarh - one of
India’s first state-planned cities-presents a large scope for the implementation of bicycle sharing
systems due to a number of tactical urban interventions required for such systems, such as lanes,
visual separation of motorized and non-motorized lanes on roads, having already been made.
Assumptions:
In order to issue a cycle the person needs to have an active internet connection.
The user is ideal, that is he/she will not cause any damage to the cycle or the lock.
The server is always up and running to process the user requests 24*7
The initial fleet sizing design would be estimated on the presumed assumptions.
Static demand management would always be satisfied to supply the upcoming users .
5
Constraint:
The number of cycles at a particular station is limited to the number of locks installed at the
respective dock station, i.e. there is no stacking of cycles.
The cycle is in working order so as to not cause any discomfort to the user during mid
journey.
1.4 STANDARDS
6
Implementation of Smart Cycle with GPS tracker.
Mobile Application for User Interface using React Native
1.6 METHODOLOGY
First for developing the smart lock, microcontroller Arduino is programmed to control the
locking and unlocking mechanism.
For storing and hosting and authentication google firebase is used. It is a serverless backend
Architecture.
For Data Analysis part, Web Application is developed using Django Framework.
The proposed product is expected to be able to accomplish the following task after completion:
Economic: Cost effective travel coupled with the opportunity to derive value from an ideal
source.
7
CHAPTER 2: REQUIREMENT ANALYSIS
Сurrently, рubliс bike-shаring systems fоllоw the ideа whiсh wаs intrоduсed in 2004 by ОYО Bike
in Lоndоn. А tyрiсаl biсyсle shаring system is mоdeled аs fоllоws:
Riders locate available bikes using a GPS-based app. Only when a registered user begins a ride
will the bikes be unlocked. Their fundamental goal is to provide free or low-cost access to bicycles
for short-distance rides in a city environment, as a convenient alternative to the use of private
vehicles, therefore significantly affecting traffic congestion and several forms of pollution.
Bicycling-sharing systems have also been cited as a means of resolving the "last mile"problem and
connecting riders to the public transportation network.
Bike-sharing systems have been successfully implemented around the world; and even in different
places in India, mostly as experimental pilot programs. Some of the notable implementations are
as follows:
"Yulu Bike" is a shared mobility startup, pioneering the use of shared electric bikes. They are
currently operating in Bengaluru, piloting in Mumbai, with plans of rapid expansion in the National
Capital Region.
"Yааnа" is a bicycle-sharing service that may be utilised for both the first and last mile of a
commute inside a city. You may pick up a bicycle, ride wherever you like, park at any nearby
designated parking location, and go about your business.
"Wheelstreet" is one of the most well-known bike rental companies in India, and it operates on a
fleet-based business model. This рlаtfоrm, which was founded in June 2014, aims to make self-
drive two-wheelers accessible to people all over India, allowing anyone to have a bike riding
experience without the hassle of owning and maintaining one.
8
"RentnGо" is an online platform for renting self-drive automobiles, electronic equipment,
furniture, clothing, and accessories. One may use their Android app to reserve a bike for the day
or longer. The company intends to establish a stronger presence in the cities where it already
operates before expanding geographically.
9
2. Arjun A Geo-Aware vehicle routing Bicycle redistribution is J. H. Lin1 and
Mittu and VRP- problem a part of the VRP. T. C. Chou2
Based Public (VRP), GIS, solutions
Bicycle Google Maps. to the VRP only use the
Redistribution Euclidean distance to
System calculate
transport cost. which is
not reliable. The actual
path distance can be
used to replace the
Euclidean distance.
10
4 Arjun The NFC, GPS, Application of bike Wu and
Mittu popularization Technical sharing system and Zhang
and application Urbanism lessons learned from
of bicycle GSM different cities
sharing system
in urban
transportation
system
6 Tanmay Are bikeshare Demographic How bikesharing system Buck et. al.
users are Analysis users different from the
different from regular users
regular cyclist
11
2.1.4 The Problem That Has Been Identified
Bike-sharing is a solution to the urban transport problem but it also comes with its problem. The
key attraction of bike-sharing is convenience and eco-friendliness. However, there are few
problems:
With bike-sharing systems, there is a possibility of bikes stacking up and congesting sidewalks and
pedestrian roadways. That would become a central concern for local regulators.
Cities must invest in bicycle safety on the roadways and in street design innovation by designating
specific space for cyclists. Possibility of bikes being stolen, dumped, or vandalized.
2.1.6 Summary
Bike-sharing systems have been successfully implemented around the world; and even in different
places in India, mostly as experimental pilot programs. The advent of bike-sharing is not only a threat
to the development of public bicycles, but also an opportunity. In order to maximize the use of public
bicycle resources while remaining competitive in the market, the firm must have a clear
understanding of its own development. A mix of strengths, limitations, opportunities, and threats led
to the formulation of a public bicycle development strategy. Because of the advancement of
information technology, any notion may be realized, which opens up a world of possibilities for the
growth of public bicycles. Companies that provide public bicycles should take use of the chance to
explore new ideas and technical advances, such as the creation of mobile client APPs, data discovery
and collecting, dispatch system innovation, and vehicle design.
12
2.3 SOFTWARE REQUIREMENTS SPECIFICATION
2.3.1 Introduction
2.3.1.1 Рurроse:
The goal of this paper is to provide a full description of the software component that will be utilised
in our 'Cycle Renting System,' as well as how it should work. It describes the system's goal and
characteristics, as well as what it will perform, the limitations it must work under, and how it will
react to external stimuli. This paper is intended for both stakeholders and developers of the system.
The dосument aims to assist both developers and stаkehоlders. This document will aid developers
in fully comprehending requirements and stаkehоlders in better documenting them. This document
will provide you a clear picture of the system you're creating. It can be utilised in any situation
depending on the project's requirements and the solutions chosen.
The software consists of a mobile application that acts as a bridge between user and the bicyle.
The user registers on the application, navigates to a nearby bicycle and scans the QR code on the
bicycle to start the ride hence making the process fast and easy.
13
2.3.2 Overall Description
The Cycle Sharing System is for on-demand bikes within a boundary in which the user can login
and book a ride by scanning the QR code through the mobile application.
In areas like university, societies and organizations our system can be implemented easily which
will provide them a safe, environment friendly and affordable option to commute to shorter
distances.
Our system includes a user-friendly mobile application which let the user to interact with our
system and issue cycles with ease.
The features of the mobile application for Cycle Renting System are:
Easy sign in using mobile number and One-time password delivered through text.
Scanning QR code/ Manual entry of unique bicycle ID.
End trip as per requirement, and clear dues inside the app using the digital payment
interfaces.
GPS module in cycle lock for tracking location of cycle.
Arduino based smart lock which is operated through android application.
Anti-theft alarm system for cycle security.
The user interface of the cycle renting system is a single page progressive mobile application.
The interface is created using React native framework. A simple, minimalistic and interactive
interface makes it easy for users to book a ride. The first page is the login/signup page followed by
a screen with options to issue a cycle, update your profile, accessing maps and setting up your
payments for a hassle-free ride.
14
2.3.3.2 Hardware interface:
The hardware interface includes a smart dock based on IOT. Every bicycle includes a QR code
which needs to be scanned to unlock the bicycle. Also, to track the bicycle it is installed with a
GPS module.
Response time: After scanning the QR code the bicycle will be unlocked with 5-10 seconds
based on the cellular connectivity situations.
TOTP validation time: After 1 min the issued OTP expires.
Availability: Bikes are available 24/7 for renting.
Safety of lock: An alarm will be fitted onto the dock which will go off in case of any
tampering with the lock.
Security deposit: Users need to deposit a certain amount before they can start renting the
cycles for daily use in case of any damage caused.
Encryption: Every bicycle has a unique QR code and can be unlocked by the people
affiliated with the institute by logging into their account.
Authentication: Users will require to enter the username issued by the institute and will be
subsequently required to enter the password to login into their account.
Privacy: The user data will not be shared and payment details will be stored in an encrypted
format.
15
2.4 COST ANALYSIS
Note: Cost of the items have been verified from e-Commerce websites.
TABLE 2.2: Cost Analysis
16
2.5 RISK ANALYSIS
17
CHAPTER 3: METHODOLOGY ADOPTED
Methodology:
Design and Implementation of application
Started by designing a front End using a JavaScript frame work called react, all the modules were
created using various software engineering practices and then implemented accordingly and after
that a backend server is create for serving and communicating with our frontend application. Here
node.js and expess.js is used for designing the backend.
The complete system is modelled as follows: enlisting dumped cycles on the system and making
them available on the dock stations to be setup at different locations in the campus, security would
be guaranteed by smart locks that would be attached to the dock, digital payments through credits
and wallet for a hassle- f r e e experience and analysis of data through machine learning
18
techniques to provide better solutions for the availability of cycles to enable an effective
commuting facility in the campus.
Аrduinо Unо Bоаrd: The ATmegа328 is a microcontroller board based on the Arduino Uno. It
will be used to manage all of the hardware devices using a mobile device.
NEО-6M GРS Mоdule: The NEO-6M GSM module is a well-performing complete GSMreceiver
with a large satellite search capability. It's used to find the user's current location.
ESР8266 Wi-fi Mоdule: The ESP8266 Seriаl WIFI Wireless Trаnsceiver Mоdule is a Seriаl WIFI
Wireless Trаnsceiver Module. It will be used to communicate wirelessly between Arduino and
hardwired devices.
19
Reасt Nаtive: Reаct Nаtive is a mоbile аррliсаtiоn frаmewоrk that uses open-source software. It
is used to develop ndrоid applications by allowing developers to leverage Reасt's framework
together with native platform capabilities. It will be used to develop mobile applications.
Djаngо: Djаngo is a free and open-source web frаmewоrk based on ython that follows the
mоdel–temрlаte–views аrсhiteсturаl раttern. It will be utilised to make a Django rest frаmewоrk.
Exро: Exро is а frаmewоrk аnd а рlаtfоrm fоr universаl Reасt аррliсаtiоns. It will be used build
аnd deрlоy mоbile аррliсаtiоns.
Аndrоid Studiо: It will be used tо generаte the аndrоid аррliсаtiоn расkаge аnd iОS арр stоre
расkаge.
Mасhine leаrning librаries: It will be used tо рrediсt stасking оf сyсles оn а раrtiсulаr рlаtfоr
20
CHAPTER 4: DESIGN SPECIFICATIONS
21
4.2 DESIGN LEVEL DIAGRAMS
22
Fig 4.4: Data Flow Diagram Level 2
Class Diagram
23
Component Diagram
24
Fig 4.8: Use Case Diagram for Signup
25
Fig 4.10: Use Case Diagram for Add Money
26
USE CASE TEMPLATE
27
2. Password will be hashed.
28
Extension Points Step 2a: the user provides a mobile number that is incorrect, unserviceable or
already exists associated with another user account
Alternate scenario At step 4 user fails to provide otp press cancel and exit signup process
Post Conditions Success end condition
User Account is successfully created and the user can logged into their account.
Failure end condition
User is unable to create account.
Special Requirement Security
1. Mobile number of users to successfully create an account will not be
recorded
2. Personal detail will remain abstracted away from the text-message
sending service
29
User successfully book and start the ride.
Failure end condition
User is unable to book a ride.
Special Requirement Security
1. QR code is unique for every cycle.
TABLE 4.3: Use Case Template for Issue Cycle
30
Activity Diagram
31
Fig 4.12: Activity Diagram for Login
32
Fig 4.13: Activity Diagram for Issue Cycle
33
Fig 4.14: Activity Diagram for Add Money
34
Sequence Diagram
35
State Chart Diagram
36
4.3 USER INTERFACE DIAGRAMS
37
CHAPTER 5: IMPLEMENTATION AND
EXPERIMENTAL RESULTS
The following section will explain the steps of the bike sharing system. There are two main
components of the system:
Smart Lock: The core working components of the smart lock to be tested are formulated as after
the QR Code is scanned from the cycle, there will be two options on the mobile application that
will lead to opening or closing of the lock.
During testing it is advisable that both the testing software and the source code are running on the
platform on which the source code will eventually be executed. There doesn’t exist any automated
methodology of testing the embedded programs in Arduino boards, which prompted us to carry
out manual testing by checking behavior of the hardware modules.
Software Mobile Application: The core working components of the software application to tested
are formulated as follows:
User Login
Payment Gateway
For testing the software application, jest is used. Jest is a JavaScript testing framework that can be
used to write test suites for JavaScript codebase. This allows us to write unit tests for the React
Native app component and ensure correctness of the application. We have used expo-cli which
takes care of any memory leaks if found in the mobile application while developing. We also have
used babel which is a JavaScript Library which converts ES6 or later to ES5 to have a better user
experience.
38
5.2 EXPERIMENTAL ANALYSIS
In this section we present the experimental analysis and tests that we performed. Using the above-
mentioned setup, we were able to setup the synchronization between the smart lock and the mobile
application. Initially during testing this module needed to be adjusted to open and close the lock in
synchronized way by making request from mobile application.
Various functions of the software mobile application were analyzed in online mode as well as
offline mode. These functions include- signing up on the mobile application, logging in, opening
or closing the ride, scanning the QR Code and clearing dues.
5.2.1 Data
Due to COVID-19 outbreak, we could not collect enough dataset to train our model. So, we took
the data from Kaggle which somehow resembles with our mongo DB dataset. The dataset that we
chose for training our model was cleaned, so we need not to clean it again.
Smart Lock: The following performance parameter are studied for embedded system design
of the smart lock-
Software Mobile Application: The following performance parameter are studied for the
multi-screen mobile application-
1. App Launching Latency: It measures the time from click on the app icon to when the
first screen of the mobile application renders the content from DOM.
2. Speed Index: a screen render performance metric that measures how quickly the content
of the second screen are visibly populated. Lower the value means faster the load times.
39
3. Android Version Compatibility: measures if our mobile application can be supports
different android versions. Since, it is a react native mobile application so it supports all
the android version greater than 4.1.
The firmware part of the lock, built through Arduino, allows the ESP328P 12E module to interact
with Wi-Fi, Servo Motor 9g to rotate the metal rod, and NEO 6M module to get the locking or
unlocking coordinates of the cycle. When the QR Code on the cycle is scanned, the ESP328P
module send the signal to Arduino Microcontroller Unit to generates the signal requires to rotate
the motor and down the metal rod, as well as get the coordinate from NEO 6M Module.
Locking the lock of the cycle is also done by mobile application, if the user does not do it, then
his/her payable balance will keep on increasing. A GPS Unit included in the lock and location
features to prevent unauthorized use. Being built for controlled environment, we have decided to
leave this feature for a future implementation of the project.
The ride ends with user left with two options of “Pay Now” or “Pay Later”. If “Pay Later” option
is chosen then the dues will be added to the user last dues and if it exceeds 50 bucks, then the user
will not be able to avail this facility anymore. Otherwise in case of “Pay Now” is chosen, the user
to is taken to Razorpay (which is right now on Test Mode) to make the successful transaction.
40
Payment Screen Algorithm: This is the algorithm of the Payment Screen where user can see the
left out balance and can see option of Pay Now and Pay Later.
QR Screen Algorithm: This is the algorithm of the QR Screen where user can scan the QR Code.
41
Register Screen Algorithm: This is the algorithm of the Register Screen where user have to
register itself after being signed up.
Scanned Screen Algorithm: This is the algorithm of the Scanned Screen where user can lock or
unlock the automatic lock of the cycle.
Signin Screen Algorithm: This is the algorithm of the Signin Screen where user can login if he is
already signed in once.
42
Fig 5.5: Signin Screen Algorithm
Signup Screen Algorithm: This is the algorithm of the Signup Screen where user can sign up if
he is not already signed.
43
Machine Learning based model analysis:
44
5.3.3 PROJECT DEPLOYMENT
Project is deployed on Ngrok. So, the server that we have developed “TrackServer” is deployed on
Ngrok. Ngrok is a cross-platform application that exposes local server ports to the Internet. React
CLI, powered by Babel and Webpack, with transpile the code written in High-level modern
JavaScript (ES6 and later), to lower-level JavaScript compatible with older browser and create
chunks of style using JSX and functions (.js) files after combining multiple individual components,
so that the entire application may be served as a legacy application. The following figure shows
the server being deployed on Ngrok.
45
5.3.4 SYSTEM SCREENSHOTS
Figure 5.2 to 5.9 shows the system screenshots of the mobile application for the project.
46
Fig 5.12: QR Scanner Screen Fig 5.13: Login Screen
47
Fig 5.14: Register Screen Fig 5.15: Lock/Unlock Screen
48
Fig 5.16: Payment Screen Fig 5.17: Razorpay Payment Portal Screen
49
Fig 5.18: Smart lock from backside
50
5.4 TESTING PROCESS
We worked on testing the features of our lock and application after the complete integrated product
was ready. We used system testing to ensure that the system met the corresponding requirements
that our product provides to the user, such as proper authentication and opening cycle location
through our application with live cycle tracking through the GPS module in our product.
After the complete system integrated an android application is built through android studio and
before deploying it we have with some dummy users for the user testing to check the accuracy of
our system.
The following features were tested based on the behavior of the working model.
Authorizing the users
Closing and opening of lock through our app
Checking the location
Checking the speed and accuracy of the motor.
The user will test various aspects of the programe to see where any product requirements are
failing, both in terms of hardware and software. In the application section, the user will test
authentication and correct connectivity of our programme, as well as the functions of unlocking
the lock and displaying the position in the application, and in the hardware section, the safety of
the lock will be checked by several users.
We employ system testing to discover problems that may develop when utilising the entire system,
as well as finding parameters, checking features, and marking down the test results that we received
from the users.
51
5.4.2 TEST CASES
We used several test cases for authentication, and we also had to give parameters to the PUT
requests, so we tested on various tests to see when the motor would complete one complete cycle
to trigger the lock, as well as other scenarios being assessed for best performance.
Chrome lighthouse report
Throttling (2G)
Throttling (3G)
No Throttling
No JavaScript
Random input for the payment fields.
Random motor speed trying to harm the lock.
Manual assessment of the wheels and brushes of the cycle.
All of the features are individually available as well as with the entire integration system, and we
receive the appropriate parameters to be supplied to our requests, as well as the system's correct
integration.
Auth test case has passed.
Proper params for dc motor cycle to trigger the lock is 3500 ms.
Lock is working as expected.
Network connectivity issue is resolved.
Scanner is tested successfully
52
Fig 5.20: Test Result on Google Lighthouse
5.4 RESULT AND DISCUSSION
From the above experiment and tests we can conclude that:
Synchronization has been achieved between the application and the hardware using the `
scanner on the application, the rotating motor and with the help of arduino uno.
Time taken to open a lock after scanning the code is dependent on network connectivity and
it may take around 2-5 sec in best case connectivity.
Application is accessible and compatible for all the platform.
The average latency to open the application and book a round is around 40 second in best `
case.
53
Developed a multiplatform mobile application that provides a great user experience with a `
very low latency.
Our application is developed using all the production level norms so that if we need to deploy
that in future, we can easily do the same.
Our application includes critical activities like authentication and payment so security is one
of the major factors that we have kept in mind while designing this application.
54
CHAPTER 6: CONCLUSION AND FUTURE SCOPE
6.1 CONCLUSION
In India, Bicycle sharing has the potential to revolutionize short-distance urban cities. If costs of
these systems are to be down, and rapid expansion is to be affected, indigenization of this system
is required, and for this, a low-cost, no-communication smart-lock" is a comprehensive step. The
synchronization of the hardware lock embedded system and the server-based application is crucial
for the system to operate seamlessly. To transform a mechanical system into one that is combined
with complex electronic machinery. A systematic design plan is needed for simulation and testing
must precede the actual manufacturing activity, as materials are available in limited quantities,
mistakes can have grave consequences. The smart-lock system was outlined and built. This
proposal relies on an inverted mechanism typically followed in spring-mounted ring locks: it
requires the lock to remain locked in its default state, while user input is needed to unlock it. The
software system is built as a progressive mobile app, designed to be lightweight, whilst being
well-designed for all classes of users, and especially performance on all sorts of systems. In
summary, building this multi- layered system requires the application of multi-disciplinary
engineering skills, its implementation offers the potential of adding ease, value, and convenience
to a large body of students and users.
The bike-sharing system has the following environmental, economic, and social benefits.
Bike-sharing is economical and environment friendly for distance
It can be used for last-mile transport and inside universities and offices as a cost-effective mode
of transport
Bike Sharing provides users an opportunity to earn from an ideal source.
costs incurred in building the smart lock ingeniously are relatively low compared to locks
imported from abroad.
When used in great volume bike-sharing can reduce traffic, reduce energy consumption. harmful
gas emission and help improve public health.
55
6.3 REFLECTIONS
Constructing of smart lock and all the components involved.
Working with Arduino Uno for building the smart lock.
Working on React Native framework for building complex user interfaces.
Working with MongoDB for database management.
Interfacing the software components with smart lock
Built a machine learning model to analyze our system.
56
CHAPTER 7: PROJECT MATRICS
Hardware related:
One of the main objectives was to build a low-cost smart lock for he bicycles to make our
project economically feasible. If we would have chosen raspberry pi then the cost of the
lock would have increased significantly, thus we went with Arduino and integrated all the
other modules with it to lower the production costs.
Software related:
Narrowing down on a tech stack was one of the important and crucial decision for us. Native
application development is the way to go when the application involves interaction with special
mobile hardware like camera and accelerometer. We couldn’t build a mobile application for
different operating systems, so we had decided to go with react native framework which allowed
us to build an app which works on both the platforms iOS and Android too.
Team related:
During the development phase most of us were at home due to COVID because of which we
had to conduct all the meetings online and it is more difficult to maintain coordination while
working in online mode.
Project related:
Most of the project was built in online phase, so the dataset could not be recorded in real time
as the campus was closed. Thus, dummy dataset was used to optimize the model. NB-IOT is
still not common in the market but we had to use it lower the cost of our project and build a
more advanced and socio-economically feasible travel option for all users.
57
7.2 RELEVANT SUBJECTS
Although, it covers the whole course curriculum of B.E. Computer Engineering by gaining little
knowledge from each course and using it in real life project. But the major subjects that are relevant
are:
58
7.4 PEER ASSESSMENT MATRIX
Evaluation of
Name of
Shubham Manav Arjun Tanmay
team
Sharma Bansal Mittu Agarwal
members
Shubham
NA 5 4.5 4.5
Sharma
Manav
4.5 NA 4.5 5
Evaluation Bansal
by Arjun
5 4.5 NA 4.5
Mittu
Tanmay
4.5 4.5 5 NA
Agarwal
TABLE 7.2: Peer Assessment Matrix
59
Fig 7.1: GANTT CHART
60
including economic, lock.
environmental, social,
political, ethical, health and
safety, manufacturability,
and long-term viability.
Each individual team
In a diverse team, fulfil
D1 member worked on
given responsibilities.
different modules
Create relevant models to Differentiate models like
E2 help come up with use case, activity and data
solutions. flow have been developed.
While interacting with In case of any problem
peers and professional during development,
F1
communities, demonstrate meeting was conducted
professional responsibility. with mentor.
Use appropriate formats to A technical report has been
create a range of created by the team
G1 documents, such as containing all the details
laboratory or project and following IEEE
reports. format.
Engineers who are
Bicycle sharing system is a
conscious of the
H1 cost effective and
environmental and social
environment friendly-way
consequences of their
to commute.
work.
Capable of exploring and We used CAD tool to
I1 utilising resources in order make the prototype for the
to improve self-learning. smart lock
Write programmes in a For app development we
K1 variety of programming used react native and used
languages. C# for coding Arduino.
TABLE 7.4: A-K Mapping
61
7.7 BRIEF ANALYTICAL ASSESSMENT
Q1. What sources of information did your team look into to come up with a list of potential
project issues?
The team members were aware of the requirements of the project and a few problems that needed
to be explored. We explored the existing systems available and analyzed their limitations and
shortcomings by looking at various technical magazines and journals from IEEE. The interfacing
issues of the hardware and software were rechecked through the official documentation of the
technologies used. Further the scope of the project was decided upon by consulting with our
mentor.
Q2. What analytical, computational, and/or experimental methodologies did your project
team employ to find answers to the project's problems?
The main analytical aspect was to understand the behavior of the model and interfacing the
hardware with the software. And after researching we went with QR code scan for locking and
unlocking the bicycle. We simulated the application in Android Studio for testing it. The hardware
and all the modules were tested after developing the full working model of the project as well as
the module wise testing for any hardware troubleshooting.
Q3. Did the project demand demonstration of knowledge of fundamentals, scientific and/or
engineering principles? If yes, how did you apply?
Yes, the project did demand demonstration of knowledge of fundamentals, scientific and/or
engineering principles. We had to use the fundamentals of various subjects like manufacturing
processes, electronic engineering and microprocessors while developing the and integrating the
smart lock with the bicycle. Also the principles of software engineering were used to document
our project in a well defined manner.
Q4. To manage design and production dependencies, how did your teams share
responsibilities and communicate scheduling information with others in the team?
For each module of the project, it was broken into further sub modules and distributed amongst the
team members. We maintained the coordination by sharing our research and work during weekly
meetups with the other team members. All the objectives were distributed, and team members
successfully delivered on their responsibilities thus finishing the work on time.
62
Q5. For the duration of the project, what resources did you use to learn new materials that
were not taught in class?
The main technologies used in our project were react native and javascript. We used the main
documentation of these languages while also taking help of articles available online on websites
like stack-overflow. We reached out to our mentor for any doubts that we had regarding our project.
For further knowledge we went through a few research papers related to the framework and
technology used in our project.
Q6. Is the project making you grasp the need of utilising engineering to address real-world
issues, and might the project development be making you skilled with software development
tools and environments?
Yes, our project helped us and gave us an opportunity to solve real life problems using the learnings
from various subjects of engineering. We gave a well defined and structured solution to the
problem which can be implemented in campuses and organizations for a healthy and eco friendly
way to commute short distances. We had to come up with an economical lock for our cycle and
develop a user-friendly application which made us familiar with various development tools and
technologies used in the project.
63
REFERENCES
[1] Zihili, Liu,Xudong jia and Weng Cheng (2012) ‘solving last mine Problem’, Zhili Liu et
al. / Procedia - Social and Behavioral Sciences 43 ( 2012 ) 73 – 78
[2] Elliot Fishman(24 april 2015) ‘Bikeshare: A review of recent literature’, Available at: `
https://doi.org/10.1080/01441647.2015.1033036
[3] J.H. Lin and T.C.Chou (24 november 2012) ‘A Geo-Aware and VRP-Based Public
Bicycle Redistribution System’,International Journal of Vehicular Technology
[4] Xiang and Zhang(4 august 2010) ‘The popularisation and application of bicycle sharing
system in urban transportation system’,Tenth International Conference of Chinese
Transportation Professionals (ICCTP) August 4-8, 2010
[5] Paul J. DeMaio(2003) ‘Smart Bikes: Public Transportation for the 21st Century’, Available
at: http://www.metrobike.net/wp-content/uploads/2013/10/Smart-Bikes.pdf
[6] Darren Buck(1 January 2013) ‘Are Bikeshare Users Different from Regular Cyclists?’,
Available at: https://doi.org/10.3141/2387-13
[7] Peter MIDGLEY(May 2009) ‘The Role of Smart Bike-sharing Systems in Urban Mobility’,
Available at: https://esci-ksp.org/wp/wp-content/uploads/2012/04/The-Role-of-Smart-
Bike- sharing-Systems.pdf
[8] Gaja Kochaniewicz(24 april 2015) ‘Smart lock for bike sharing in corporate environments’,
Available at: https://www.semanticscholar.org/paper/Smart-lock-for-bike- sharing-in-
corporate-Kochaniewicz/d28e405452a847855a01f038ab1c82bbc6e94f47
64
PLAGIARISM REPORT
65