You are on page 1of 41

PROJECT REPORT

ON
WORKFLOW

SUBMITTED AS A PARTIAL FULLFILLMENT FOR AWARD OF DEGREE


BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE AND ENGINEERING
BY
JASKARAN SINGH
2015CSA1078
B.Tech.(C.S.E.) 8th SEM

TO
DEPARTMENT OF COMPUTER ENGINEERING AND TECHNOLOGY

GURU NANAK DEV UNIVERSITY (AMRITSAR)


2015-2019
PREFACE
Every professional course may not be considered completed till the
student has practical knowledge about it. To fulfill this requirement,
a practical training must be done. As a part of our course we are
taking up the training topic of "Workflow" as project to be
implemented in IOS.

This project is being accomplished by me as a part of this partially


fulfill the requirement of completion of the degree course I am
pursuing, keeping in mind the importance of the relevance of this
project to my future professional life
.
This project work provided me ample opportunity of handling things
practically, in depth knowledge of various tools used in development
of this project. In the forth coming pages , an attempt has been made
to present a comprehensive report on the different aspects of my
development work.
TABLE OF CONTENT

1. TRAINING CERTIFICATE

2. SYNOPSIS - 1

3. SYNOPSIS - 2

4. LIST OF FIGURES

5. Company Profile

5.1 Introducation

6. Problem Defination

6.1 .Proposed System

6.2 Objectives Of Project

7. System Requirement Specification

7.1 Problem Statement

7.2 Feasibility Study

7.3 Function That Is Provided

7.4 Processing Environment

7.5 Project Planning

7.6 Project Scheduling (PERT & GANTT CHART)

7.7 System Analysis

8. Design

8.1 System Design

8.2 Data Flow Analysis

8.3 Core Data


9. Implementation and Testing

9.1 Implementation

9.2 Maintenance

9.3 Screenshots

10. Project Legacy

10.1 Current Status Of Project

10.2 Remaining Area Of Concern

10.3 Future Scope Of Project

11. Conclusion

12. Bibliography

12.1 Websites
1. TRAINING CERTIFICATE
2. SYNOPSIS - 1
3. SYNOPSIS - 2
4. LIST OF FIGURES

Figure-1: Gantt Chart

Figure-2: Pert Chart

Figure-3: Login Page

Figure-4: Home Screen

Figure-5: Timesheet Screen

Figure-6: View Timesheet Screen

Figure-7: Create Timesheet Screen (Empty)

Figure-8: Create Timesheet Screen (Filled

Figure-9: More Screen


5. COMPANY PROFILE
5.1 INTRODUCTION
Clicklabs is Chandigarh based company that offers high grade
technology solution with a focus on mobility. The company
delivers mobility solutions to entrepreneurs and enterprises
looking to provide an Omni channel to their customers with a
mission to engineer and maximize mobile ROI. Company’s
business approach is to develop on demand custom business
solutions on top of proprietary core IP products for
mobile work force management.

Clicklabs has two major


subsidiaries namely
JUGNOO and
JUNGLEWORKS

Jugnoo

Jugnoo, a phenomenon that was


started as an auto- aggregator, is
now one step-solution for all
local needs. The genesis behind
is to make life hassle- free by
delivering the best of every city
to its residents.
Founded in November 2014 by
handful of IITians, Jugnoo
became as India’s first auto
rickshaw aggregator with the
objective of making daily
commute easy and reliable. After bring the on demand
revolution to daily commute,we expended our vision and dream
of touching everyday lives in a much bigger way. With
10lacktransactionspermonthacross45+cities,but began as a small
company in 2014 is now spear heading the evolution of local
Indian market place into a digital reality.
Jugnoo now provides a wide range of local services on demand-
auto rides, groceries, food delivery, meals, logistics and even a
location based local social network! Jugnoo is a hyper local on-
demand multi-service provider based out of Chandigarh,
which employs auto rickshaws as its logistic partners. It provides
on-demand transportation and logistics services across 38 cities
in India via their mobile application which can be downloaded on
Android, iOS and Windows basedphones.

JungleWorks

JungleWorks is a suite of revolutionizing products that focuses on every


step of an on- dem and business journey. Our mission is to create the best
user experience at every step. It has various product that has really provide
new user experience to both end user and as well as the entrepreneurs. It
provides various products that has revolutionized the world and has
brought a big change in the world itself.
The various Products of the JungleWorks are:
6. PROBLEM DEFINITION

6.1 PROPOSED SYSTEM

A workflow application is to automates, to at least some degree, a


process or processes. The processes are usually business-related but can
be any process that requires a series of steps to be automated via
software. Some steps of the process may require human intervention,
such as an approval or the development of the application or the
submission of data via application. Consider a workflow that moves
through various departments for submission and evaluation. This
project considering everything in mind to manage, detect and keep track
of work done by every employee or faculty in any organization for the
better understanding as well as investment that employees are providing
to company. Based on that incentives, promotion could be given to
employees or faculty. This IOS app will provide every organization a
better estimation of employee’s work. The workflow timesheet could
move from one end to other end to ensure greater work flexibility and
deadline maintenance. When all the deadlines are met and applications
for the client are obtained, the counter for each project ensures the
developers work load and left deadlines. A workflow process may help
other developers to work together as team by understanding the project
needs and deadlines.
6.2 OBJECTIVE OF THE PROJECT

Workflow application manages the clients Projects and timeline for each
project. It tracks all the updates, changes or amendments brought in the
projects. Manage the client’s project and its deadlines
The aim of proposed system is to develop a system of improved facilities.
The proposed system can overcome all the limitations of the existing
system. The existing system has several disadvantages and many more
difficulties to work well. The proposed system tries to eliminate or reduce
these difficulties up to some extent. The proposed system will help the
user to reduce the workload and mental conflict.
The proposed system is the develop an online website on which
the people can get information about various health issues and the
nutrition & workout plans to fix number of diseases and also to lead a
healthy and fit lifestyle. The users can easily explore the website
While sitting at any place (home, office etc.) and access the features of the
website. Moreover, the elder people who cannot workout can also access
the website to get proper nutrition plan according to their age group.
7. SYSTEM REQUIREMENT SPECIFICATION

7.1 PROBLEM STATEMENT

Drawbacks of Existing System:-

• Time consuming- Existing System does not capture the clear picture of
employee’s work such as proper wage or incentives are not given at
proper time. It will remove that drawback as employee itself provide
every information about its work on daily basis.

• More man power- Think about you need to hire a person to manage
every employee’s status and almost every time employee’s work is
underestimated. This app will reduce this underestimation process and
also cut the need for more employees.

• Consume large volumes of paperwork- In any organization. Work


done by any employee/senior person is generally managed by some data
sheet and in turn into any database. May of the organization still using
pen and paper work which is hard to manage and takes a lot of storage.
This iOS app will provide the solution to that.

• Needs manual calculations- Calculation are most prominent and trying


work for every industry to manage or cope with. This app will cut it to
the end and allows employees to save their own workforce.

• No direct role for the higher officials-Organizations are sometime


underestimate what their employees have scored for their company and
higher officials most of the time ignore that employees need for the
company. This app will provide or give them a opportunity to stand a
chance against their high officials as the record has been very crystal
clear and employee will get what they truly deserve.

7.2 FEASIBILITY STUDY


Feasibility study is carried out to test is the proposed system is worth
being implemented. Given unlimited resources and infinite time, all
project are feasible. Unfortunately, such situations are not possible in
real time. Hence it becomes necessary and prudent to evaluate the
feasibility of the project at earliest possible time in order to avoid
unnecessary wastage of time. Feasibility study is the test of the system
proposed regarding its work ability, impact or organization’s ability to
meet user’s needs and effective use of resources. It is usually carried
out by a small group of people who are familiar with the information
system technique, understand the part of business that will be involved
and affective by the people that are skilled in analysis and design.

A feasibility study is conducted to select the best system that meets the
performance requirements. This entails an identification description,
and emulation of candidate systems and selection of best system for the
job. The factors that should be included in the feasibility assessment can
be as follows.

Cost: operating, maintenance, unit


Accuracy: frequency, significance and correction of errors
Reliability: stability, durability
Capacity: average, low and peak loads

7.2.1 ECONOMIC FEASIBILITY

Economic analysis is the most frequently used method for evaluating


the effectiveness of a candidate system. More commonly known as
cost/benefits and saving that are expected from a candidate system and
compare them with cost. If benefits outweigh costs, then the decision is
made to design and implement the system. Usually cost benefits
analysis is made to find the savings or extra overheads that would arise
new development.
The technique of cost benefit analysis is often used as a basis for

economic feasibility. The factors for evaluation are:

- Cost of operation of existing system and proposed system


- Cost of development of proposed system
- Value of benefits of proposed system.

7.2.2 TECHNICAL FEASIBILIY


Technical feasibility centers on existing computer system and to what
extent it can support the proposed addition. This involves financial
consideration to accumulate technical enhancement. E.g. if the current
operating system is at 80% capacity and taking load already then
running another application could overload the system or require
additional hardware. If the budget is serious constraint then the project
is not feasible.

7.2.3 OPERATIONAL FEASIBILITY


The operational feasibility refers to the assessment of proposed system
in the manner that how much this system is feasible for customers or
the end users. The system should have capabilities in it. That person
with a simple knowledge can also use the system. Our proposed system
is user-friendly interface. The user just has to select the choice with the
help of menu. Therefore the system is feasible on operational front too.
Our system will improve the performance and save the time. Also, it
will help to remove the errors that may occur by the human operator.
Human may undergo many mistakes in the busy enquiry schedule and
feel uncomfortable and irritating in such environment.

7.3 FUNCTION THAT IS PROVIDED

7.3.1 DATA

All data is stored on sever so user doesn’t worry of storage. Admin will
easily get the information of any user with the help of these database.

7.3.2 Portability
Software can be transferred from one hardware configuration to other
configuration. It can be expanded globally i.e. sales and marketing
department of the Company can use this project.

7.3.3 Security

Administrator is having password of all the users. He/She can change


the user password at any time. So no unauthorized access is allowed.
Though there is option of changing user password by himself/herself.

7.4 PROCESSING ENVIORNMENT

This phase define the requirement of the software i.e. it defines the tools
ad equipment which are used for the development of the software.
Following are the hardware and software requirements for building this
Application:
(i) HARDWARE REQUIREMENT: -

Operating System Mac OS

PROCESSOR Dual Core or Higher

RAM Minimum 4GB

STORAGE 30-40 GB recommended


(ii) SOFTWARE REQUIREMENT:
1. Xcode:- Xcode is an integrated development environment
(IDE) for macOS containing a suite of software development
tools developed by Apple for developing software.

2. Swift:- Swift is a general-purpose, multi-paradigm, compiled


programming language developed by Apple Inc.for iOS,mac
OS,watch OS,tv OS,Linux and z/OS. Swift is designed to work
with Apple's Cocoa and Cocoa Touch frameworks and the large
body of existing Objective-C code written for Apple products. It is
built with the open source LLVM compiler frame work and has
been included in Xcode since version 6, released in 2014. On
Apple platforms, it uses the Objective-C run time library
which allows C, Objective-C, C++ and Swift code to run within
one program.
7.5 PROJECT PLANNING

Project planning is an organized and integrated management process,


which focuses on activities required for successful completion of the
project. It prevents obstacles that arise in the project such as changes in
projects or organization's objectives, non-availability of resources, and so
on. Project planning also helps in better utilization of resources and
optimal usage of the allotted time for a project. The other objectives of
project planning are listed below.

• It defines the roles and responsibilities of the project management team


members.
• It ensures that the project management team works according to the
business objectives.
• It checks feasibility of the schedule and user requirements.
• It determines project constraints.

The two parties involved in the project planning were Senior


Management and Project Management team. The Senior Management
Approved the project, employed personnel, and provided resources
required for the project and currently reviews the project regularly. The
Project Management team manages all project activities. Prepares
budget and resource allocation plans and assign actions and duties to the
developer resources.
7.6 PROJECT SCHEDULING

Gantt CHART
A Gantt chart is a popular tool in project management. It basically drills
down activities which need to be done by a fixed time period. It is
commonly used for tracking project schedules.

On the chart, tasks are shown on the vertical axis while the scheduled
time-spend is laid out on the horizontal axis. Each task is represented by
a bar that shows the time required for the project.

Days Task
10 20 30 40 50 60 70 80 90

Requirements 2/1/2019 –1/2/2019

Analysis and 2/2/3019 –27/2/2019


Designing
Coding 28/2/2019 – 10/4/2019

Testing 11/4– 15/4

Deploy
16/04 –
27/04

Fig 1: Gantt Chart


PERT CHART

A PERT chart is a project management tool that provides a graphical


representation of a project's timeline. The Program Evaluation Review
Technique (PERT) breaks down the individual tasks of a project for
analysis

Figure-2: Pert Chart

Designing
D
Requirement Analysis
F
Coding Integration
A B C

Gathering
Designing E
phase 2 G

Project Complete
7.7 SYSTEM ANALYSIS

Analysis is a detailed study of the various operations performed by


a system and their relationship within and outside of the system. In
journal view system is collection of people, procedures and
equipment’s. People are not an important component of any
information system. Information is produced and used by people in
an organization in their everyday activities to make decisions.
Information system establishes procedures ensuring that right
people receive right data at right time. These procedures determine
what is to be done when any user uses the system. System analysis
is the method that is used to analyze the system, design them and
build them. Analysis is used to gain an understanding of existing
and what is required in system. The analysis phase ends with the
system description and a set of requirement of the new system.
Analysis is a process of diagnosis the situation with the boundaries
of system kept in mind to produce a report based own findings.
Planning for information system development is done within in the
framework of organizations overall MIS plan.
8. DESIGN
8.1 SYSTEM DESIGN
The design phase focuses on the detailed implementation for the
system recommendation in the feasibility study. The design phase
is a translation from a user-oriented-document to program-oriented-
document. The design activity begins when the required document
for the software to be developed is available. This may be SRS for
the complete system, in case of waterfall model is being followed
or the requirement for the next iteration, if the iterative
enhancement is being followed or the requirement for the prototype
if the prototyping is being followed. Design is essentially the bridge
between requirement specification and the final solution for
satisfying the requirements. The design of the system is essentially
a blueprint or a plan for solution for the system. Here we consider a
system to be asset of components which clearly defines the
behavior that interacts with each other in a fixed define manner. A
component of a system can be considered as a system with its own
components. In a software system a component is a software
module.
MODULARIZATION DETAILS

Each iOS application consists of three main components. Controller,


Model and View. This application has following main modules:

8.1.1 Swift Modules

• App Delegate Module: This module handles the initializations


of important objects of the applications [3].
• Navigation Module: This module defines and manages the
routing in the application.
• Playgrounds: These are interactive documents where Swift
code is compiled and run live as you type.
• UIKit: The core components of any iOS application, from
UILabels and UIButtons to UITableView and navigation
controllers are defined within UIKit [3].
• Foundation: Access essential data types, collections, and
operating-system services to define the base layer of
functionality for app [3].
• Payment Module: This module integrates the third party
dependencies which helps in integrating Stripe, iPay88, Razor
Pay etc with application and making card payments.
• Accounts Module: This module is responsible in handling
session of user’s account.
• People Module: This module handles the People model. People
model describes the structure of the user account in the
platform. This module is responsible for managing the creation,
updating, and deletion of user accounts.
8.1.2 APPLE DEVELOPMENT MODULE

• Certificate Creation Modules: For every app which is


developed requires the authentication and approval from Apple
Inc. For this, Apple Development Kit is required. Through the
apple development account, the app is first registered with a
specific bundle identifier. Once the App ID is generated, using
it iOS distribution certificate is created. Apple also provides
various options such aas push notification services and iCloud
container. To access the app, within an organization or open on
app store provisioning certificates of distribution AdHoc and
distribution AppStore, respectively are required[4].

DETAILED DESCRIPTION OF MODULES OF “WORKFLOW”

The project “WORKFLOW” can be viewed as user modules:

In this module the company Employee can perform the basic


functions in the system. The functions are

• Add its details


• Check its profile
• Check its current status
8.2 DATA FLOW ANALYSIS
Data drive business activities. They can trigger events and
processed to provide information useful to personnel. System analysis
recognizes the central role of business data in the organization. The
following that shows the flow of data through business processes, which
is the purpose of data flow analysis, tells us a great deal about how
organization objectives are accomplished. Data flow analysis studies the
use of data in each activity. It documents these details in the DATA
FLOW DIAGRAMS.A data flow diagram is a logical model of a system.
The model does not depend on hardware, software, and data structures of
the organization. There is no physical implication in a data flow diagram.
Because the diagram is a graphic picture of the logical system, it tends to
be easy for every non-technical user to understand and thus serves as an
excellent communication tool. Finally a data flow diagram is a good
starting point for system design.

8.2.1 DATA FLOW DIAGRAMS

A data flow diagram is a logical model of a system. The model


does not depend on hardware, software, and data structures of the
organization. There is no physical implication in a data flow diagram.
Because the diagram is a graphic picture of the logical system, it tends to
be easy for every non-technical user to understand and thus serves as an
excellent communication tool. Finally a data flow diagram is a good
starting point for system design. To construct a data flow diagram it uses
four basic symbols. They are given below.

RECTANGLE: is used to define source or destination of data.

CIRCLE OR ROUNDED CORNERS RECTANGLE: defined


to represent a process that transforms or modifies the data.

OPEN ENDED RECTANGLE: is used to represent data storage.

8.2.2 ER- DIAGRAMS


The entity Relationship Diagram (ERD) depicts the relationship
between the data objects. The ERD is the notation that is used to
conduct the date modeling activity the attributes of each data object
noted is the ERD can be described resign a data object descriptions.
The set of primary components that are identified by the ERD are

Data Objects :- Relationships


Attributes :- Various types of indicators.
8.2.3 DATA DICTIONARY
A data dictionary is a collection of data about data. The basic idea is to
provide information on the definition, structure, and use of the data
element an organization uses. A data element is a unit of data that can’t
be decomposed.

8.3 CORE DATA

Core Data is a framework that you use to manage the model

layer objects in your application .It provides generalized and

automated solutions to common tasks associated with object l

ifecycleandobjectgraphmanagement,including persistence.

Core Data typically decreases by 50 to 70 percent the amount of

code you write to support the model layer. This is primarily due to

the following built-in features that you do not have to implement,

test, or optimize:

Change tracking and built-in management of undo and redo


beyond basic text editing.
Maintenance of change propagation, including maintaining the
consistency of relationships among objects.

Lazy loading of objects, partially materialized futures (faulting),


and copy-on- write data sharing to reduce overhead.
Automatic validation of property values. Managed objects extend
the standard
key-value coding validation methods to ensure that individual
values lie within acceptable ranges, so that combinations of values
make sense.

Schema migration tools that simplify schema changes and allow


you to perform efficient in-place schema migration.
Optional integration with the application’s controller layer to
support user
interface synchronization.

Grouping, filtering, and organizing data in memory and in the user


interface.

Automatic support for storing objects in external data repositories.

Sophisticated query compilation. Instead of writing SQL,you


can create complex queries by associating a Predicate object
with a fetch request.
9. IMPLEMENTATION AND TESTING
9.1 IMPLEMENTAION
It is one of the main modules of the project development stage. All the
modules allotted to me had been completed at individual level. I tried
my best to fulfill all the requirements of the “WORKFLOW
APPLICTION”. However, after implementation, various modules
were taken for the testing procedure to finalize them. But if we
implement the project there is not any standardized procedure to check
the testing while implementation give us chance to test if there is any
problem, it can be taken remedies so we can finalize the project, using
implementation and reviewing techniques. As far as this project is
concerned, it is free from errors and can be implemented very
effectively.

Testing is a dynamic method for verification and validation, where the


system to be tested is executed and behavior of the system is observed.
Due to this, testing observes the failures of the system, for which the
presence of faults can be deduced. However, separate activities have
to be performed to identify the faults and then remove them.

There are two approaches to testing, functional and structural. In


functional testing, the internal logic of the system under testing is not
considered and the test cases are decided for the specifications or the
requirements. It is often called black-box testing. In structural testing,
the test cases are decided entirely on the internal logic of the program
on module being tested. The external specifications are not
considered. Mutation testing is another approach for structural testing
that created mutants of the original program. The testing criterion is to
kill all the mutants by having the mutant generate a different output
from the original program.
Unit testing is used to test a module and the focuses are combined into
sub-systems which are then tested. The goal here is to test the system
design. Structural testing can be used for unit testing, while at higher
level mostly functional testing is used.
As the platform is already in use by a large number of clients, the
foundational application is robust and tested by its creators. Once we
deploy it our own infrastructure and integrated it to our existing
tools, we performed following testing:

ALPHA TESTING:
The QA team performs the individual testing comparing it with the
requirement of the client and Sales team regularly create demos for
showcasing the product to the potential clients. They update us if they
face any error
.
BETA TESTING:
The AdHoc build of the app is given to the product team and as well as
to the client for testing. The development team is informed if any bug
or issue arises in the app.

9.2 MAINTENANCE
Maintenance is a provision, which includes both the improvement of
system functions and the correction of faults which arise during the
operating of system. Maintenance activity may require the continuing
involvement of a large proportion of computer resources. When we
install the software, chances arise in two ways:
• As a part of normal running system where errors are found, user
may ask for improvement or external requirements change.
• As a result of specific investigation and review of system
performance.
9.3 SCREEN SHOTS

This is the first screen of app in which after filling the login details we can
sign in.

Figure 3: Login Screen


=> This screen gives the view of home
screen telling the information of available
projects along with billable and non - billable
projects.

Figure 4: Home Screen

This screen gives us the view of <=


timesheet screen through which we
come to know about the task that has
been done by the individual on which
date and by which time telling us about
the total time spend by the user on that
task.

Figure 5: Timesheet screen


=> This screen gives the information of the
task on which we tap, thus it view us the
timesheet screen through which we can edit
the details after clicking the save button.

Figure 6: View Timesheet Screen

This screen is opened when we <=


click '+' button on timesheet screen.
This screen is used to add our new
task with the information we want to
fill in the blank fields.

Figure 7: Create Timesheet Screen(Empty)


=> This screen shows the screenshot
of the task whose detail we are going to fill
and is going to be create.

Figure 8: Create Timesheet Screen(Filled)

This screen shows the view of <=


screen in which options of profile,
feedback and logout are given.

Figure 9: More Screen


10. PROJECT LEGACY

10.1 CURRENT STATUS OF PROJECT


The project development phase i.e. the system analysis and design part
is tested and had been completed within its assigned duration and with
success. Coding and testing parts of the project are still under process.
The testing has been done thoroughly all modules is completed and
properly. There is no error in any module. The project is completed
properly.

10.2 REMAINING AREA OF CONCERN


The further improvements are always possible in every field. In this
project the existing functionality can also be enhanced by including
more modules like admin will call, message and email to any user.

10.3 FUTURE SCOPE OF PROJECT


As we already know that technology has evolved much in the past few
years. Nowadays all the companies are interested in taking care of
their customers so that the companies can find out the needs of the
customer and launched the products in the market accordingly. This
Project is just a prototype of the actual project so it can be developed
into a full-fledged project with all modules added to it. By
implementing it on Google play store.

11. CONCLUSION

As a member of the team under the guidance of my mentor, I have been


educated about the IOS technologies .The particular area of to which
my project serves extremely helpful. I am required to understand and
learn the intricacy involved in this area. I would design user interfaces,
design app, develop code, input test data, output interfaces, and output
test data. Completion of the development process will result in a app
that will provide user friendly environment which is very easy to work
with. Management of various tasks is incorporated in the app and will
deliver the required information in a very easy to use and easy to access
manner. This app will provide accuracy, efficiency, speed and easiness
to the end user.
12. BIBLIOGRAPHY

12.1 WEB SITES


1. “Swift Official Guides” : https://swift.org/documentation/
2. CocoaPods, "CocoaPods," [Online]. Available:
https://cocoapods.org/.
3. Apple, "Apple Documentation," [Online]. Available:
https://developer.apple.com/documentation.

You might also like