Etaxi Documentation

64
GRADUATION PROJECT E-TAXI SUPERVISOR DR. AHMED HAMAZA INSTITUTE OF STATISTICAL STUDIES AND RESEARCH

Transcript of Etaxi Documentation

Page 1: Etaxi Documentation

GRADUATION PROJECT E-TAXI

SUPERVISOR

DR. AHMED HAMAZA

INSTITUTE

OF STATISTICAL

STUDIES AND

RESEARCH

Page 2: Etaxi Documentation

-1-

Table of Contents

Declaration 4

Acknowledgements 5

Abstract 6

Chapter one

1. Introduction and project planning 8

1.1. Project Objective 8

1.2. System stack holders definition 8

1.3. Project Scope definition 11

1.4. Used technologies (software solutions) 11

1.5. Problem analysis 13

1.6. Feasibility study 13

1.7. The system Development life cycle 14

Chapter two

2. Overall description 17

2.1. System description 17

2.2. System functions 17

2.3. System features 17

2.4. Operating Environment 18

Chapter three

3. Requirements and Constrains 20

3.1. Functional requirements 23

3.2. Nonfunctional requirements 24

-Performance requirements

- Information requirements

Page 3: Etaxi Documentation

-2-

- Efficiency requirements

- Service Requirements

3.3. System Constraints 24

Chapter four

4. System Design 27

4.1. Database logical and physical Design 27

4.2. Process design and Class Diagram 35

4.2.1. Use case diagrams and Use Case text 35

4.2.2Sequence diagrams 44

4.2.3. Class diagram 45

4.2.4 Activity diagram 47

4.2. 5 Interface design 48

References 63

Page 4: Etaxi Documentation

-3-

List of Figures and Tables

Figure Name Page

1.1 System Stakeholders 9

1.2 Systems development life cycle 15

2.1 System Features 18

4.1 System EERD 27

4.5 Database Diagram From Oracle 31

4.7 Online Data base schema from SQL Server 33

4.10 Use Case diagram 36

4.11 System Sequence diagram 44

4.12 Class diagram 45

Page 5: Etaxi Documentation

-4-

Declaration

We hereby declare that the project entitled “Electronic Taxi online booking (E-Taxi)”

submitted for the Diploma Degree is our original work and the project has not formed the basis

for the award of any degree, associate ship, fellowship or any other similar titles.

Name Signature

1 Fathy Ahmed Mohamed

2 Mohamed Sabar Abd El Hameed

3 Taha Mohamed Soliman

4 Reda Mohamed Metwaly

5 Mahmoud Abd El Basat Hekil

Place: Institute of Statistical Studies and Research – Cairo University

Date: 23-6-2016

Page 6: Etaxi Documentation

-5-

Acknowledgments

رحمن ا رحمن مبسم هللا

At the beginning and at the end we all thank Allah for helping us to achieve this work and ask

Allah to benefit us with what he taught us and teach us what will benefit us.

Also the achievement of this piece of work wouldn’t be to see the light without the support, help

and contribution of:

Professor: Hisham Hefni the acting head of the computer science and information system

department for his support and advice.

Doctor: Ahmed Hamaza supervisor of our graduation project.

All the faculty members who taught us during our study in the degree program.

Finally we thank our families for supporting us and helped us to reach so far and to have the

tolerance to face difficulties and keep up.

Page 7: Etaxi Documentation

-6-

Abstract

Our system it develops, markets and operates the mobile app, which allows consumers

with smartphones to submit a trip request which is then routed to drivers who use their own cars

or drive company cars.

To passengers, our system is essentially synonymous with taxis, and to drivers, it’s

basically a referral service. The Android, iOS and Windows Phone app connects riders with

drivers using their phone’s GPS capabilities, letting both parties know one another’s location

and removing the question of when the ride will actually arrive. In addition, the tech company

also processes all payments involved, charging the passenger’s credit card, and direct depositing

the remaining money into the driver’s account, all in the background and completely cashless.

The System Architect build based on the most modern technologies and concepts from

the idea of using smartphones to the software architect of SOA (Service-Oriented Architecture)

Considering the new and modern software methodologies and concepts we chose to use

the Unified Process (UP) model to construct our system. Which gives us the most flexibility to

develop our system and finalize software process stages.

Finally we consider of using the most productivity and capability tools for development

our system including (Databases, Software, User interfaces and documentation).

Page 8: Etaxi Documentation

-7-

Chapter one

Project planning

Page 9: Etaxi Documentation

-8-

Project planning

1- Introduction the idea on E-Taxi is evolving the way the world moves. By seamlessly connecting

passengers to drivers through our apps, we make cities more accessible, opening up more

possibilities for passenger and more business for drivers , Get a reliable ride in minutes with the

E-Taxi app, no reservations or waiting in taxi lines, from low-cost to premium, every ride option

feels like an upgrade to the everyday. Create your account using a credit card or PayPal, and your

fare will be charged automatically at the end of your ride. You can also pay with cash in select

cities.

1.1 Project objectives as the ideas, thoughts and product designs began to accumulate our main

objective to provide you, the customer, with a safe, reliable and easy taxi service, still proved to

be the focal point. We believe that in today’s day and age, one should have confidence that their

taxi will arrive on time and that you will not be over charged, and for these reasons, we introduced

the much needed transparency

1.2 Project Stack holders

When we come to the designing of the information system, a term often make us think; who are

Stakeholders? So let us define this with the formal definition and it goes like this.

‘Any person who has interests in an existing or proposed information system. Stakeholders may include

both technical and non-technical workers. They also may be the internal ones or may be the external

one.’

So I think the idea of ‘Who are stakeholders?’ has come to the mind. In building the information system

the system owners, system users, system designers, system builders and all of the above system analysts

and the project managers all these are commonly known as the stakeholders. Whatever their roles in an

organization are it doesn’t matter, all the thing common in them are that, they are information workers.

Let us explore a little deep to the stakeholders:

Page 10: Etaxi Documentation

-9-

Figure(1.1)

System Stakeholders

System Stack holders

System Owner System Users

Internal System Users

Technical and Professional staff

Supervisors, Middle

managers and executive managers

External Users

Customers

System Designers

Database Administrators

Network Architects

Web Architects

Graphics Artists

Security Experts

Technology specialists

System Builders

Application programmers

System programmers

Databases Programmers

Network Administrators

Security Administrators

Webmasters

Software Integrators

System Analysts

Page 11: Etaxi Documentation

-10-

System owners: An information system’s sponsor and executive advocate usually

responsible for funding the project of development, operating and maintaining the

information system.

In this system the system owners are the companies who intend to work on electronic

taxies field.

System users: Is the customer who will use the system or is affected by an information

system on a regular basis – capturing, validating, entering, responding to, storing, and

exchanging data and information.

In this system the system Users classified as internal and external users

A- Internal System users

1- Technical and professional staffs which are the staff will operate and maintain system

events like Driver registration approval block users or Drivers

2- Supervisors, Middle managers and executive managers which are the staff of managers

need generate reports from the system like system cash flow

B- External System User

1- Customers any external user have an registration ID will be customer and both of trip

requester or driver are customers on our system

System Designers: a technical specialist who translates system users’ business

requirements and constraints into technical solution. She or he designs the computer

databases, inputs, outputs, screens, networks, and software that will meet the system

users’ requirements.

A- Database Architect (DBA) creates and manages large and expansive electronic

databases to store and organize vast amounts of data. This is a highly skilled profession

that is integral to most modern businesses. A person in this position will work closely

with software designers, design analysts and others to create comprehensive databases

that may be used by hundreds if not thousands of people.

Page 12: Etaxi Documentation

-11-

B- Network Architects

C- Web Architects

D- Graphics Artists

E- Security Experts

F- Technology specialists

System builders: a technical specialist who constructs information systems and

components based on the design specifications generated by the system designers.

A- Application programmers

G- System programmers

H- Databases Programmers

I- Network Administrators

J- Security Administrators

K- Webmasters

L- Software Integrators

Systems analyst: a specialist who studies the problems and needs of an organization to

determine how people, data, processes, and information technology can best accomplish

improvements for the business.

Business analyst focuses on only the nontechnical aspects of systems analysis and design.

1.3 Project Scope definition

The scope of the project includes and focuses managing the operation of booking

taxies online adding availability to users to customize their needs comforts issues.

1.4 Used Technologies and Tools

1- Database

Page 13: Etaxi Documentation

-12-

a- Oracle Database XE 12

*Used to develop local database to create diagrams.

c- Microsoft SQL Server 2012 database Engine

*Used to create online database and final relational database diagrams.

2- Programming Language and Technologies

a- Visual C# 6

b- ASP.Net MVC

*Used to create web site and web administration application

c- ASP.Net Web API

*Used to create web service

d- Xamarin Framework

e Microsoft XAML

*Used to create mobile app using c#

f- HTML 5,CSS3

g- JavaScript & JQuery

h- Bootstrap

*f & g & h Used to create web site and web administration application user

interfaces

3 Tools

a- Microsoft Visual Studio 2015

b Oracle JDeveloper 12 c

c Oracle WebLogic Server

d Microsoft Android Emulator

e Microsoft SQL Server Management studio

f Oracle SQL Developer 4.1.3

g Google Chrome Developer Tools

Page 14: Etaxi Documentation

-13-

1.5 Problem analysis

Risks involved in existing system.

1.6 Feasibility study:

The objective is to determine whether or not the proposed system is feasible. The three

tests of feasibility have been carried out:

A- Technical feasibility

B- Economic feasibility

C- Operational Feasibility

Technical feasibility: In technical feasibility one has to test whether the proposed

system can be developed using the existing technology.

It is a study of resource availability that may affect the ability to achieve an acceptable

system.

This evaluation determines whether the technology needed for the proposed system is

available or not.

As the available technical resources (such as Microsoft SQL server, Microsoft

ASP.NET… etc.) are so satisfactory for the scope of the proposed system, the proposed

system considered technically feasible.

Page 15: Etaxi Documentation

-14-

Economic feasibility: The costs and benefits associated with the proposed system

compared and the project is economically feasible if tangible or intangible benefits out

weight cost.

As the proposed system development costs are significant as estimated so the system

proposed considered feasible economically.

Operational Feasibility: It is a standard that ensures interoperability without stifling

competition and innovation among users, to the benefit of the public both in terms of

cost and service quality. It is mainly related to human organizations and political

aspects. In operational feasibility the following points are studded:

- The impact of the changes would be made by the new system.

- The organization structure that might be disturbed by functioning the new system.

- The gap between the skills that the staff of the organization /s that would use the system

and the skills needed by the system to operate appropriately.

The system is operationally feasible as it very easy for the End users to operate it, its

functioning disturbs no other organization structures, and it have no undesired changes

to be made by its functionality.

1.7 The system Development life cycle:

System development process: a set of activities, methods, best practices, deliverables, and

automated tools that stakeholders use to develop and maintain information systems and software.

System Development Process Overview:

The systems development life cycle (SDLC), also referred to as the application

development life-cycle, is a term used in systems engineering, information systems and software

Page 16: Etaxi Documentation

-15-

engineering to describe a process for planning, creating, testing, and deploying an information

system.[1] The systems development life-cycle concept applies to a range of hardware and

software configurations, as a system can be composed of hardware only, software only, or a

combination of both

Figure (1.2)

Systems development life cycle

System Planning: the initial planning for a project to define initial business scope,

goals, schedule, and budget.

System analysis: the study of a business problem domain to recommend

improvements and specify the business requirements and priorities for the solution.

System design: the specification or construction of a technical, computer-based

solution for the business requirements identified in a system analysis.

System implementation: the construction, installation, testing, and delivery of a

system into production.

Page 17: Etaxi Documentation

-16-

Chapter two

Overall description

Page 18: Etaxi Documentation

-17-

Overall Description

2.1. System description:

The system is a Mobile based application and Web based application.

The Web based application is just some of pages guide the visitor to download the mobile

application form the mobile OS platform store like (Android store – apple store – windows

store), about us and feedback.

The mobile based application is the main app manage customer registration, edit login, get ride,

become a driver, etc.

2.2. System functions:

A- User registering

B- User Login

C- Edit Profile

D- Request ride

E- Become a driver

F- Evaluate a ride

G- information about all your ride

H- Deactivation your account

2.3. System Features:

The following figure illustrates the features of the new system over the existing systems

Feature Uber Cream Our System Notes

Mobile

Application

Page 19: Etaxi Documentation

-18-

Support all Egypt

Cites

Can support local

companies

Driver Evaluation Rating

through the

app

Rating

through

SMS only

Rating

through APP

& SMS

Support Regular

Taxi Car

Table (2.1)

System Features

2.3 Operating Environment:

The system typically requires one server for small business or form demo and it may run from

any other personal or laptop computer and need to install mobile application on mobile to can

connect the server

Page 20: Etaxi Documentation

-19-

Chapter three

Requirements

Page 21: Etaxi Documentation

-20-

Requirements

Requirements analysis

The requirement analysis phase is the most important phase along the phases of the information

system development process in this system and any other information system. Inadequate

attention to that phase always results in user disagreements and dissatisfaction of the system or

some functions of the system which would be so costly to get over.

There is a 7 common fact finding techniques for gathering user requirements which are:

bservation of work environment

Each technique has its advantages and disadvantages. It is never better to consider one of them is

the best technique while the efficiency of the used technique differs from a system to another

depending on the nature of the system and the working environment.

1- Sampling of existing documentation, forms and databases.

The following screen shots were collected (only sample of the gathered screen shots

Page 22: Etaxi Documentation

-21-

Page 23: Etaxi Documentation

-22-

2- Observation of work environment

The advantages of this technique are:

Data gathered based on observation can be reliable.

Page 24: Etaxi Documentation

-23-

The system analyst is able to see exactly what is being done.

Observation is relatively inexpensive compared with other techniques.

Because of the important advantages of this technique it has been used along with other used

techniques for fact finding techniques for this project.

3- Interviews

The type of interview used is the unstructured open-end interview.

This method was choosing because of the nature of the interviewees (students’ doctors and

heads of departments).

3.1 Functional requirements: Functional requirements are a description of activities and

services a system must provide.

ored data

The functional requirement of the proposed system according to the specified scope can be

divided to data requirements, process requirements and interface requirements.

First: data requirements as inputs and outputs

The system must handle the following inputs:

1- Allow user to enter its personal data like first name , last name , mobile number ,

addresses , email to can register on our system

2- Allow user to enter Location through GPS location system atomically or manual through

map

3- Allow user to set it ride target using map

4- Allow user to can evaluate driver if it passenger or evaluate customer if it driver

5- Allow Driver set it availability status

Second: process function all requirements

The main process the system must allow customer ride request and it is request must be service

Third: Interface requirements

Page 25: Etaxi Documentation

-24-

The interface should be available for users all the time and they can access it from anywhere.

3.2 Non Functional requirements:

A description of other features, characteristics, and constraints that define a satisfactory system.

• Performance, ease of learning and use, budgets, deadlines, documentation, security, internal

auditing controls

The non-functions requirements of the system are:

- The system should have a user friendly interface which is simple and easy to use and

understand.

- The system should be highly secured.

- The system should have an interface for news.

3.3 System Constraints:

The primary impact of project constraints is the likelihood of delaying the completion of the

project.

There are three types of project constraints:

- Technological

- Resource

- Physical

The technological constraints

Relate to the sequence in which individual project activities must be completed.

Page 26: Etaxi Documentation

-25-

Resource constraints

Relate to the lack of adequate resources which may force parallel activities to be performed in

sequence. The consequence of such a change in network relationships is delay in the completion

date of the project.

Physical constraints

Are caused by contractual or environmental conditions.

Page 27: Etaxi Documentation

-26-

Chapter four

Design

Page 28: Etaxi Documentation

-27-

System Design

4.1. Database Design

Figure (4.1)

System EERD

Page 29: Etaxi Documentation

-28-

A close up view of the User entity type:

Figure(4.2)

User Entity Close Up View

A close up view of the of Car entity type:

Page 30: Etaxi Documentation

-29-

Figure(4.3)

Car Entity Close Up View

A close up view of the Trip Entity:

Page 31: Etaxi Documentation

-30-

Figure(4.4)

Trip Entity Close Up View

The Entity-Relationship Diagram of the conceptual model

Database Diagram

Page 32: Etaxi Documentation

-31-

Figure (4.5)

Database Diagram From Oracle

Creating SQL Database using SQL DDL

Page 33: Etaxi Documentation

-32-

Figure(4.6)

Creating SQL Database using SQL DDL in Oracle SQL Developer

Online Data base schema from SQL Server

Page 34: Etaxi Documentation

-33-

Figure (4.7)

Online Data base schema from SQL Server

Page 35: Etaxi Documentation

-34-

Figure(4.8)

Online Data base schema from SQL Server With Data Types

Page 36: Etaxi Documentation

-35-

4.2 Process design:

Figure(4.9)

Process design

4.2.1 System Use Case diagram and text:

Page 37: Etaxi Documentation

-36-

Figure(4.10)

Use Case diagram

Page 38: Etaxi Documentation

-37-

Use Case

Name

Apply for an account

Happy Scenario

The Client download the Application Mobile and he/she can

create account. If he/she want to create driver account he must

match with eTaxi's legal conditions, he/she can fill in data form,

and then he/she sends the form and waits for a reply from the

eTaxi Admin to complete opening the Driver account.

Sad Scenario

The Client can’t open account driver if he/she doesn't satisfy

eTaxi’s legal conditions.

Use Case Text

Use Case

Name Log in Case

Happy Scenario

The user (client/admin) enters his/her user name , password ,

and account number ,then validation with the database is being

processed Credentials is correct and the login process

succeeded and the user now can see his/her account dashboard.

Sad Scenario

The user (client/admin) enters his/her user name, password,

and account number, then validation with the database is being

processed. A login failure message appears due to incorrect

username, password or account number.

The user (client/admin) enters his/her user name, password,

and account number, then validation with the database is being

processed. A login failure message appears due to insufficient

connection with the database.

Page 39: Etaxi Documentation

-38-

Use Case

Name Check In Case

Happy Scenario The user (client/driver) can check in to order to determine

address, then they can used process and start Trips.

Sad Scenario

The user (client/driver) can check in to order to determine

address ,but unavailable GPS or Data Cementation for network

so they can’t used process and start Trips .

Use Case

Name Client Send Request to Driver Case

Happy Scenario

The user (client) can send request to Driver and if he available

and accept request. the Client can used process and start racing

Trips. The user after the completion of the trip can request other

trips, and so on

Sad Scenario

The user (client) can’t send request to Driver because not have

mobile or unavailable GPS or Data Cementation for network. In

this case, can’t sent request to driver and not start any flights

Use Case

Name Driver Receive Request from Client Case

Happy Scenario

The user (Driver) can be received request from Clients and he

approved the start flight. After the completion of the trip can

receive other trips from Clients ,and so on

Page 40: Etaxi Documentation

-39-

Sad Scenario

The user (Driver) can’t be received request from Clients or the

Driver not available or Busy or Status Account off Trips. In this

case, can’t receive any flights

Use Case

Name Flight status of the Client

Happy Scenario

After starting flight , the Client enjoy the trip to safely even to

arrive in his goal . when At the end of flight . the client can be

make to evaluation of the driver and after that start the process

of payment based on type payment it’s which selected in your

account , or start the process of payment without evaluation of

the driver

Sad Scenario

After starting flight , may not be up to your goal . For some

reason malfunction in the car or the occurrence of an emergency

such as disasters

Use Case

Name Flight status of the Driver

Happy Scenario

After starting flight , the Driver can to enjoy the racing trip to

safely when to arrive in the goal . So the after at the end of flight .

the Driver can be make to evaluation of the client and after that

start the process of receive payment from client based on type

payment That was previously selected in your account , or start

the process of payment without evaluation of the driver

Sad Scenario

After starting flight , may not be up to your goal . For some

reason malfunction in the car or the occurrence of an emergency

such as disasters

Candidate Keys Abstraction Model 1-Apply for an account:

Page 41: Etaxi Documentation

-40-

Candidate Key

Abstraction Reason for elimination

Selected component

name

Guest Actor --

Website The whole System --

Account -- Account

Bank Same as website --

Conditions BR --

Data form

registration -- Registration

Reply NFR --

2-Log in:

Candidate Key

Abstraction Reason for elimination

Selected component

name

User -- User

Client Same as user --

Admin Same as user --

User Name Attribute of user --

Password Attribute of user --

Account number Attribute of account --

Validation BR --

Database -- --

Credentials Attributes of user --

Login process BR --

Account dashboard NFR --

Login failure

message NFR --

8-Messaging (compliance):

Page 42: Etaxi Documentation

-41-

Candidate Key

Abstraction Reason for elimination

Selected component

name

Admin actor --

User -- user

System The whole system --

Message -- messaging

Inquiry NFR --

9-Admin lock account:

Candidate Key

Abstraction Reason for elimination

Selected component

name

Admin Actor

Notification Attribute for messaging

User User

Account Account

Request BR

Class Responsibility Collaborator (CRC) Model

Driver

Responsibilities Collaboration

Page 43: Etaxi Documentation

-42-

User-name;

Password;

First-name;

Last-name;

Licenses No ;

Phone-number;

Unit Traffic

Center Licenses

Driver

Register new Driver();

Client (Users)

Responsibilities Collaboration

Account-number;

User-name;

Password;

First-name;

Last-name;

Address;

Phone-number;

Registration

Client

Shows users of the

Client()

Messaging (compliance)

Responsibilities Collaboration

messageValue

fromUser

toUser

date

Account

User

Register

branches

sendMessage()

ReplyMessage()

Admin

Page 44: Etaxi Documentation

-43-

Responsibilities Collaboration

Username

Password Account

User

Register

lockAccount()

sendMessage()

loginIssue()

Trip

Responsibilities Collaboration

Trip-number;

Start-date;

End-date;

Payment-type;

Registration

Payment

Trips

Add Trip ()

Delete Trip()

Page 45: Etaxi Documentation

-44-

4.2.2 System Sequence diagrams

Figure(4.11)

System Sequence diagram

Page 46: Etaxi Documentation

-45-

4.2.3 Class diagram

Figure(4.12)

Class diagram

Page 47: Etaxi Documentation

-46-

Figure(4.13)

Class Code Sample

Page 48: Etaxi Documentation

-47-

4.2.4 Activity Diagram

Figure(4.13)

Activity Diagram

Page 49: Etaxi Documentation

-48-

4.2.5 Interface Design

Figure(4.14)

Application Logo On Android Phone

Figure(4.15)

Application Splash Scrren On Android Phone

Page 50: Etaxi Documentation

-49-

Figure(4.16)

Application Start Page

Figure(4.17)

Application Login Page

Page 51: Etaxi Documentation

-50-

Figure(4.18)

Application Register Page

Figure(4.19)

Application Client Main Menu

Page 52: Etaxi Documentation

-51-

Figure(4.20)

Application Driver Main Menu

Figure(4.21)

Application Booking Page

Page 53: Etaxi Documentation

-52-

Figure(4.22)

Application Edit Profile Page

Page 54: Etaxi Documentation

-53-

Figure(4.23)

Web Service Register Method Code

Page 55: Etaxi Documentation

-54-

Figure(4.24)

Web Service Login Model Code

Page 56: Etaxi Documentation

-55-

Figure(4.25)

Web Service Login Method Code

Page 57: Etaxi Documentation

-56-

Figure(4.26)

Web Service Register Model Code

Page 58: Etaxi Documentation

-57-

Figure(4.27)

Web Administration Control Panel Home Form

Figure(4.28)

Web Administration Users List Form

Page 59: Etaxi Documentation

-58-

Figure(4.29)

Web Administration Edit User Form

<?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="ETaxi.Views.Register" Title="Registration Form"> <ScrollView> <Grid > <Grid.RowDefinitions> <RowDefinition Height="auto"/> <RowDefinition Height="auto"/> <RowDefinition Height="auto"/> <RowDefinition Height="auto"/> <RowDefinition Height="auto"/> <RowDefinition Height="auto"/> <RowDefinition Height="auto"/> <RowDefinition Height="auto"/> <RowDefinition Height="auto"/> <RowDefinition Height="auto"/> <RowDefinition Height="auto"/> <RowDefinition Height="auto"/> <RowDefinition Height="auto"/> </Grid.RowDefinitions> <Label x:Name="lblError" TextColor="Red" Grid.Row="0"/> <Entry x:Name="txtName" Placeholder="User Name" Grid.Row="2"/> <BoxView Color="Silver" HorizontalOptions="Fill" HeightRequest="3" Grid.Row="5"/> <Entry x:Name="txtEmail" Placeholder="Email" Grid.Row="6"/> <Entry x:Name="txtPhoneNumber" Placeholder="Phone Number" Grid.Row="7"/> <BoxView Color="Silver" HorizontalOptions="Fill" HeightRequest="3" Grid.Row="8"/> <Entry x:Name="txtPassword" Placeholder="Password" IsPassword="True" Grid.Row="9"/>

Page 60: Etaxi Documentation

-59-

<Entry x:Name="txtConfirmPassword" Placeholder="Confirm Password" IsPassword="True" Grid.Row="10"/> <BoxView Color="Silver" HorizontalOptions="Fill" HeightRequest="3" Grid.Row="11"/> <Button x:Name="btnReg" Text="Register" Grid.Row="12"/> </Grid> </ScrollView> </ContentPage>

Figure(4.30)

Mobile App UI Code Sample

@model Etaxi_Admin.Models.DB_Model.AspNetUser @{ ViewBag.Title = "Create"; } <h2>Create</h2> @using (Html.BeginForm()) { @Html.AntiForgeryToken() <div class="form-horizontal"> <h4>AspNetUser</h4> <hr /> @Html.ValidationSummary(true, "", new { @class = "text-danger" }) <div class="form-group"> @Html.LabelFor(model => model.Id, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Id, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Id, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.Email, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Email, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.EmailConfirmed, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> <div class="checkbox"> @Html.EditorFor(model => model.EmailConfirmed) @Html.ValidationMessageFor(model => model.EmailConfirmed, "", new { @class = "text-danger" }) </div> </div> </div>

Page 61: Etaxi Documentation

-60-

<div class="form-group"> @Html.LabelFor(model => model.PasswordHash, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.PasswordHash, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.PasswordHash, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.SecurityStamp, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.SecurityStamp, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.SecurityStamp, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.PhoneNumber, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.PhoneNumber, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.PhoneNumber, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.PhoneNumberConfirmed, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> <div class="checkbox"> @Html.EditorFor(model => model.PhoneNumberConfirmed) @Html.ValidationMessageFor(model => model.PhoneNumberConfirmed, "", new { @class = "text-danger" }) </div> </div> </div> <div class="form-group"> @Html.LabelFor(model => model.TwoFactorEnabled, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> <div class="checkbox"> @Html.EditorFor(model => model.TwoFactorEnabled) @Html.ValidationMessageFor(model => model.TwoFactorEnabled, "", new { @class = "text-danger" }) </div> </div> </div> <div class="form-group"> @Html.LabelFor(model => model.LockoutEndDateUtc, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10">

Page 62: Etaxi Documentation

-61-

@Html.EditorFor(model => model.LockoutEndDateUtc, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.LockoutEndDateUtc, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.LockoutEnabled, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> <div class="checkbox"> @Html.EditorFor(model => model.LockoutEnabled) @Html.ValidationMessageFor(model => model.LockoutEnabled, "", new { @class = "text-danger" }) </div> </div> </div> <div class="form-group"> @Html.LabelFor(model => model.AccessFailedCount, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.AccessFailedCount, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.AccessFailedCount, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> @Html.LabelFor(model => model.UserName, htmlAttributes: new { @class = "control-label col-md-2" }) <div class="col-md-10"> @Html.EditorFor(model => model.UserName, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.UserName, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> <div class="col-md-offset-2 col-md-10"> <input type="submit" value="Create" class="btn btn-default" /> </div> </div> </div> } <div> @Html.ActionLink("Back to List", "Index") </div> @section Scripts { @Scripts.Render("~/bundles/jqueryval") }

Figure(4.31)

Page 63: Etaxi Documentation

-62-

Web Administration UI Code Sample

Figure(4.32)

Web Site Home Page Screen

Page 64: Etaxi Documentation

-63-

References

1- Ramez Elmasri and Shamkant B. Navathe ," FUNDAMENTALS OF Database

Systems" SIXTH EDITION Addison-Wesley 2011

2- Whitten, Bentley, “Systems Analysis and Design Methods”, 7thEdition, McGraw-Hill

Publishing Company, 2007.

3- Bruegge, Bernad, and Dutoit, Allen H., “Object-Oriented Software Engineering: Using UML, Patterns and Java”, Second Edition, Pearson Education Limited, 2004

4- Craig Larman, Applying UML and Patterns: An Introduction to Object-Oriented

Analysis and Design and Iterative Development, 3rd Edition, 2004

5- Cristian Darie, Wyatt Barnett, and Tim Posey, " Build Your Own ASP.NET 4 Website

Using C# & VB" SitePoint Pty. Ltd 2011