Вы находитесь на странице: 1из 94

CIRTRU CLASSIFIED

A PROJECT REPORT
Submitted in partial fulfillment of the requirements
Of the degree of

MASTER OF COMPUTER APPLICATION


by

Ajit T. Panada
(Roll No. 39)
Supervisor :

Prof. Mr. Ramesh Solanki

DEPARTMENT OF MASTER OF COMPUTER APPLICATION

V. E. S. INSTITUTE OF
OF TECHNOLOGY
CHEMBUR -74
UNIVERSITY OF MUMBAI
2014 - 2015

ii | P a g e

VIVEKANAND EDUCATION SOCIETYS


INSTITUTE OF TECHNOLOGY
Collector Colony, Chembur, Mumbai - 400 074
Collectors

CERTIFICATE OF APPROVAL OF PROJECT WORK


This is to certify that Mr.
M Ajit Tankia Panada (Roll No. 39) has satisfactoril
satisfactorily
carried out the project work titled
t
Cirtru Classified in partial fulfilment of Sem.
VI of MCA of the University of Mumbai, Maharashtra State during the year
2014 2015.

PRINCIPAL

PROJECT GUIDE/INTERNAL EXAMINER

HEAD OF DEPT

EXTERNAL EXAMINER

iii | P a g e

Project Report Approval for M.C.A

This thesis project report entitled Cirtru Classified by Ajit Tankia Panada is
approved for the degree of Master of Computer Applications.

Examiners
1.----------------------------------------2.-----------------------------------------

Date:
Place:

iv | P a g e

DECLARATION

I declare that the report of the project work entitled Cirtru Classified, represents my
ideas in my own words and where others' ideas or words have been included, I have
adequately cited and referenced the original sources. I also declare that I have
adhered to all principles of academic honesty and integrity and have not
misrepresented or fabricated or falsified any idea/data/fact/source in my
submission. I understand that any violation of the above will be cause for
disciplinary action by the Institute and can also evoke penal action from the sources
which have thus not been properly cited or from whom proper permission has not
been taken when needed.

---------------------------------------------(Signature)

----------------------------------------(Name of student and Roll No.)


Date:

v|Page

ACKNOWLEDGEMENT

I owe a great many thanks to a great many people who helped and supported me
during the writing of this book.
My deepest thanks to Lecturer, Mr. Ramesh Solanki the Guide of the project for
guiding and correcting various documents of mine with attention and care. He has
taken pain to go through the project and make necessary correction as and when
needed.
I express my thanks to the Principal Dr.(Mrs.) J. M. Nair for her continued support
and I would like to express my sincere thanks to Mrs. Nishi Tiku (H.O.D) for his
constant encouragement, which made this project a success.
My deep sense of gratitude to Mr. Navish Jain, Founder, CIRTRU CLASSIFIEDS
PVT LTD for support and guidance. Thanks and appreciation to the helpful people
at CIRTRU CLASSIFIEDS PVT LTD, for their support. During this project work I
have gained both practical as well as theoretical knowledge of great significance.
I would also thank my Institution and my faculty members without whom this
project would have been a distant reality. I also extend my heartfelt thanks to my
family and well wishers.

Ajit Panada

vi | P a g e

ABSTRACT

Currently Classified web service provider like Sulekha.com and OLX providing
services to all social classes where trust factor is being compromised. Today
classifieds service provider web sites verify their users based on email address
and mobile number. However any person can create any fake email addresses
and get verify on respective classified website and can post fake advertise on
such web sites and make user frustrated.
Cirtru Classifieds verifies sellers and buyers based on their work email without
revealing their work identity to outsiders. In simple words, it is LinkedIn for
classifieds with identity hidden. It is very essential for a user to find elite seller or
sells his stuff to the working professionals in their own or nearby circles
(companies).
This entire project builds using Node.js, Angular.js, HTML5& CSS3. Major
components of this project are responsive, user friendly and have good UX that
helps elite user to buy/sell items. It also helps to provide value to its contributors
by making available to them its vast global audience reach.

vii | P a g e

LIST OF FIGURES
Figure No. Name

Page No.

Figure 4.1 Agile Methodology

16

Figure 4.2 Agile Methodology Overview

20

Figure 4.3 Agile Design Phase

22

Figure 4.4 Use Case Diagram Cirtru Classified

23

Figure 4.5 Use Case Diagram of Cirtru Classified

24

Figure 4.6 Use Case Diagram for System Roles

26

Figure 4.7 Sequence Diagram for Login through System Account

28

Figure 4.8 Sequence Diagram for Login through Facebook Account

29

Figure 4.9 Sequence Diagram for Login through Google Account

30

Figure 4.10 Sequence Diagram System Signup & Account Validation

31

Figure 4.11 Sequence Diagram Posting Ad

32

Figure 4.12 Activity Diagram System Login

34

Figure 4.13 Activity Diagram System Operation

35

Figure 4.14 Activity Diagram System Operation for Seller

36

Figure 4.15 Activity Diagram System Operation for Buyer

37

viii | P a g e

LIST OF ABBREVIATIONS
PVT LTD

Private Limited

IT

Information Technology

QA

Quality Assurance

RAD

Rapid Application Development

UAT

User Acceptance Testing

GUI

Graphical User Interface

UI

User Interface

UX

User Experience

JS

Java Script

HTML

Hypertext Markup Language

CSS

Cascading Style Sheet

DB

DataBase

AD

Advertisement

SOW

Scope of Work

ix | P a g e

TABLE OF CONTENT
Sr. No.
1.
2.
3.
4.
5.
6.

Title

CERTIFICATE ---------------------------------------------------------------------DECLARATION -------------------------------------------------------------------ACKNOWLEDGEMENT --------------------------------------------------------ABSTRACT -------------------------------------------------------------------------LIST OF FIGURES ----------------------------------------------------------------LIST OF ABBREVIATIONS -----------------------------------------------------

Page No.
ii
v
vi
vii
viii
ix

Chapter
1. Introduction-------------------------------------------------------------------

1.1 Abstract--------------------------------------------------------------------------1.1.1 About Organization ------------------------------------------------------1.2 System overview ----------------------------------------------------------------

2
3
4

1.3 Objective -------------------------------------------------------------------------

1.4 Scope ------------------------------------------------------------------------------

1.5 Project Profile -------------------------------------------------------------------

2. System Analysis --------------------------------------------------------------2.1 System Study and Problem Formulation ----------------------------------2.1.1 Bottlenecks Identified in Existing System -----------------------------2.1.2 Need of the Current System ----------------------------------------------2.2 Feasibility Study ---------------------------------------------------------------2.2.1 Technical Feasibility ------------------------------------------------------2.2.2 Resource Availability -----------------------------------------------------2.2.3 Operational Feasibility ----------------------------------------------------2.2.4 Economical Feasibility -----------------------------------------------------

7
8
8
9
10
10
10
10
11

3. Process Description ----------------------------------------------------------

12

3.1 Project Overview --------------------------------------------------------------

13

4. Development Life Cycle ---------------------------------------------------4.1

15

Requirement Analysis ---------------------------------------------------------

19

4.2 Design Document and Prototype -------------------------------------------4.2.1 Use Case Diagram ----------------------------------------------------------

21
22

4.2.1.1
4.2.1.2
4.2.1.3

Diagram Building Blocks -----------------------------------------------Use Case Diagram for Cirtru Classified ------------------------------Use Case Diagram for System Roles -----------------------------------

4.2.2 Sequence Diagram --------------------------------------------------------4.2.2.1


4.2.2.2

Diagram Building Blocks -----------------------------------------------Sequence Diagram for Login through System Account --------------

22
23
25

26
26
27

x|Page

4.2.2.3
4.2.2.4
4.2.2.5
4.2.2.6

4.2.3

Sequence Diagram for Login through Facebook Account -----------Sequence Diagram for Login through Google Account --------------Sequence Diagram for System Signup and Account Activation ----Diagram for Posting Ad ----------------------------------------------------

Activity Diagram ----------------------------------------------------------

28
29
30
31

32

4.2.3.1

Diagram Building Blocks --------------------------------------------------

32

4.2.2.2

Activity Diagram for Simple System Login ----------------------------

33

4.2.3.2Activity Diagram for System Operation -----------------------------------

34

4.2.3.3Activity Diagram of System Operation for Seller ------------------------

35

4.2.3.4Activity Diagram of System Operation for Buyer ------------------------

36

4.3 Iteration, Demo and Feedback ------------------------------------------------

37

4.4 Identify Defects and Resolve Bugs -------------------------------------------

38

4.5 Production and Technical Support ------------------------------------------

39

5. System Requirement Study -------------------------------------------------

40

5.1 Introduction ----------------------------------------------------------------------

41

5.2

41
41
41

Requirement Specification ---------------------------------------------------5.2.1 Hardware Requirement ---------------------------------------------------5.2.2 Software Requirement -----------------------------------------------------

6. Testing--------------------------------------------------------------------------6.1

47

Unit Testing ---------------------------------------------------------------------

48

6.2 Functionality Testing ---------------------------------------------------------6.2.1 Checking of all links -------------------------------------------------------

49
49

6.2.2 Testing for forms -----------------------------------------------------------

49

6.2.3 Cookies Testing ------------------------------------------------------------

49

6.2.4 Database Testing -----------------------------------------------------------

49

6.2.5 HTML/CSS Validation ---------------------------------------------------

49

6.3 Usability Testing --------------------------------------------------------------6.3.1 Testing for Navigation ----------------------------------------------------6.3.2 Content Checking -----------------------------------------------------------

50
50
50

6.3.3 Other user information for user help -------------------------------------

50

6.4 Interface Testing ---------------------------------------------------------------

50

6.5

Compatibility Testing ---------------------------------------------------------

51

6.6 Performance Testing ----------------------------------------------------------

51

6.7

52

Security Testing ----------------------------------------------------------------

7. User Manual -----------------------------------------------------------------8. Key Learning ----------------------------------------------------------------9. Bibliography ------------------------------------------------------------------

53
80
82

xi | P a g e

1. Introduction

1|Page

1. Introduction
1.1 ABSTRACT
This document is meant for describing all the features and procedures that were
followed while developing the system.

This document specially mentions the details of the project how it was developed, the
primary requirement, as well as various features and functionalities of the project and the
procedures followed in achieving these objectives.

The main objective of this project is to allow users to find elite sellers they could trust within
their nearby circles.
Cirtru Classifieds verifies sellers and buyers based on their work email without revealing their
work identity to outsiders. It is very essential for a user to find elite seller or sells his stuff to the
working professionals in their own or nearby circles (companies).
This system is very helpful for providing a smooth interaction between verified sellers and
buyers, who have been working in same or different companies/schools.
The IT initiatives have encouraged developing a system that provides an integrated and
automated customer to customer transaction by keeping the trust and work identity verification as
its centroid.
The core features provided by Cirtru Classifieds to its users are:
1. Trust:
User can deal with the people you would trust based on their employer or school.
2. Verification:
Only Verified users are allowed to use services offered by Cirtru.
3. Work Identity Protection:
Users work identity is never revealed to anyone, ever.

2|Page

4. Security:
None of user data is ever displayed on Cirtru. Hence no spam bots can ever reach to user.

1.1.1 ABOUT ORGANIZATION


Cirtru Classified PVT LTD is Mumbai based startup firm which is classified service provider
currently catering San Francisco Bay Area. Cirtru.com is LinkedIn for classifieds with identity
hidden. Cirtru Classified PVT LTD is Mumbai based startup founded by ex-Stanford and exIITian. Currently market place for Cirtru Classified is Rental, Housing, Cars, and Used items.
Cirtru Classified helps user find appropriate buyer/seller that you could trust. Cirtru classified
initially available for Indian people in San Francisco, but now its available for all people in bay
area. Cirtru Classified is local classified currently available for City of San Francisco, South Bay
Area, East Bay Area, Peninsula, North Bay, and Santa Cruz, California. Cirtru classified helps
users to find elite sellers they could trust within their nearby circles. Cirtru Classifieds verifies
sellers and buyers based on their work email without revealing their work identity to outsiders.
Cirtru verifies buyers/sellers based on their employers/schools. It is very essential for a user to
find elite seller or sells his stuff to the working professionals in their own or nearby circles
(companies). Currently Cirtru classified have 5 classified categories as Roommates, Sublets,
Cars, Furniture & Used items. Cirtru classified focuses on creating their values and providing
value added services to their customer. Read more at: https://cirtru.com/aboutus.

3|Page

1.2 SYSTEM OVERVIEW


Cirtru Classified web system is built on Node.js, AngularJS, Bootstrap, HTML5, CSS3, and
MongoDB. The Web application is built to serve the following areas.

To make the process of posting an advertisement for user more reliable,


descriptive, and error free.

Provide secure environment to the users by verifying them based on work emails.
Real time response to the ad poster.
Presenting statistical data related the classified users to the administrator.
The database is self-explanatory as the code.
Administrator has a privilege to add, modify, and delete work email based on user
request.

Administrator has privilege to add, delete, and modify advertisement posted by


user.

User can register, login and post advertisement to the respected category.
User can share their advertisement on social media such as facebook, twitter etc.

1.3 OBJECTIVE
Creating user

friendly, easy to use, attractive UI and UX that helps user to post

advertise easily.

To maintain and store ad detail, response detail, ad viewer details and ad poster
detail.

Provide classifieds as a service to enable its users to connect with one another.
Use NODE.JS and MongoDB server technology to create strong and secured
database connectivity.

Provide value to its contributors by making available to them its vast global audience
reach.

Displaying information related to advertisement in effective manner so that buyers


can find as per their requirements.

Filter data as per user provided option.

4|Page

1.4 SCOPE
Cirtru Classified website is LinkedIn for classifieds with user identity hidden. Currently
Cirtru Classified catering services to only San Francisco Bay Area. Every user on this
classified is verified based on its employer/school. If employee of Google looking for a
roommate or buying used car trusts an Apple employee more than any stranger on other
classified site. Cirtru Classified keeps user privacy, never reveal or share it with others and
keeps users protected from scams. Cirtru Classifieds allows users in seeking elite
roommates and tenants within their nearby circles or companies as well as helps them in
buying and selling of other verticals of classifieds such as cars, furnitures and other
forsale items posted by users from same or different companies.

1.5 PROJECT PROFILE


1. System Interface
Website would be a self-contained system. It will not access data of any other
application nor will other application have access to its data.

2. User Interface
Website will be accessed through a Browser Interface. The interface would be
viewed best using 1024 x 768 and 800 x 600 pixels resolution setting for desktop.
As website is responsive in design it can be viewed from small size device such as
mobile phone to large size device such as desktop. The software would be fully
compatible with Google Chrome Browser and above versions. No user would be
able to access any part of the application without logging on to the system.

3. Hardware / Software Environment

Hardware Interface:

Pentium IV

80 GB Hard Disk

512 MB RAM

5|Page

Software Interface:
Operating System :
Any operating system

Development Tools
o
o
o
o
o

Web Browser :
o
o
o
o
o

Node.JS
Mongo DB
AngularJS
HTML5 and CSS3
Bootstrap3

Internet Explorer 8 and higher versions


Google Chrome
Safari
Opera Mini
Mozilla Firefox

Documentation & Presentation Tools


o Microsoft Word 2013

4. Constraints:
User interface is only in English i.e. no other language option is available.
User can login only with his assigned username and password i.e. no guest
facility is available.

6|Page

2. System Analysis

7|Page

2. System Analysis
2.1 System Study and Problem Formulation
2.1.1 Bottlenecks Identified in Existing System
Currently Classified web service provider like Sulekha.com and OLX providing services to all
social classes where trust factor is being compromised. Today classifieds service provider web
sites verify their users based on email address and mobile number.
However any person can create any fake email addresses and get verify on respective classified
website and can post fake advertise on such web sites and make user frustrated.
Craigslist is a classified advertisements website with sections devoted to jobs, housing, and
personals, for sale, services, community, and discussion forums. Craig Newmark began the
service in 1995 as an email distribution list to friends, featuring local events in the San
Francisco Bay Area. Craigslist became web-based service in 1996 and expanded into other
classified section and categories. It started expanding to other U.S cities in 2000, and now
covers 50 countries.
However Classified site craigslist has been linked with 330 crimes, 12 murders and 105
robberies or assault in the United States last year due to anonymous interactions on the site, says
a new study.
The study undertaken by AIM Group, which examined nationwide crime reports reported in
local media coverage, concludes the anonymity on Craigslist is exploited by criminals across
the country to rob assault or even kill consumers as they try to buy or sell things like cars,
apartments and furniture.
The report calls Craigslist a cesspool of crime, citing murders, rapes, robberies, assault and
rental rip-offs as some of the examples. AIM concludes these are everyday occurrences on
Craigslist, warning users that the old rules of meeting in public and knowing whom youre
dealing with no longer apply.

8|Page

Anonymous classifieds can pose a serious danger to consumers and as a result Craigslist has
become a one-stop shop for criminals, says Peter Zollman, founding principal of AIM. In this
era of Facebook and social networks, its smarter and safer to sell a car or a couch to someone
you know.
On craigslist buyer dont know whom they are dealing with on the other side of the phone or
computer, which makes it unsafe. Besides Craigslist completely allows users search without
requiring a user name or an email address which may lead into the risk of scam.

2.1.2 Need of the Current System


To solve security related problems in the domain of classified, they require a computerized
system that verify user in order to introduce trust factor in the classified section. They required
a web based application that will provide a working environment that will be flexible and
will enable smooth interaction between elite buyer and seller.
Aims and Objective

Creating user friendly, easy to use, attractive UI that helps user to post advertise easily.

To maintain and store ad detail, response detail, ad viewer details and ad poster detail.

Provide value to its contributors by making available to them its vast global audience
reach.

Displaying information related to advertisement in effective manner so that buyers can


find as per their requirements.

Filter data as per user provided option.

Constraints, Assumptions, Dependencies

Constraints
As this system is based on client server technology, so for normal operation minimum
of 64 MB RAM will be required on all clients.

Assumptions
In general it has been assumed that the user has complete knowledge of the
system that means user is not a naive user. System is target for users that have work
email. Any data entered by him/her will be valid.

Dependencies
One should verify his/her own work E-mail before posting and contacting any
advertise in this system.

9|Page

2.2 FEASIBLITY STUDY


Feasibility Study is the measure of how beneficial or practical the development of an application
or an information system would be to an organization.
The feasibility study for Cirtru Classified Portal took place in following Phases:
1. Technical Feasibility
2. Resource Availability
3. Operational Feasibility
4. Economic Feasibility

2.2.1 Technical Feasibility


Technical feasibility centers on the existing manual system of the test management process and to
what extent it can support the system. According to feasibility analysis procedure the technical
feasibility of the system is analyzed and the technical requirements such as software facilities,
procedure, inputs are identified. It is also one of the important phases of the system development
activities. The system offers greater levels of user friendliness combined with greater processing
speed. Therefore, the cost of maintenance can be reduced. Since, processing speed is very high
and the work is reduced in the maintenance point of view management convince that the project
is operationally feasible.

2.2.2 Resource Availability


Manpower: The required human resources are available.
Hardware Availability: The required hardware is available.
Software Availability: The required Software packages are installed and ready to use.

2.2.3 Operational Feasibility:


Operational feasibility is a measure of how well a proposed system solves the problems, and
takes advantage of the opportunities identified during scope definition and how it satisfies the
requirements identified in the requirements analysis phase of system development.
Management Support: Operational feasibility reviews the willingness of the
organization to support the proposed system. This is probably the most difficult of the
feasibilities to gauge. In order to determine this feasibility, it is important to understand
the management commitment to the proposed project. The management is in full support
of this portal.

10 | P a g e

Current System Issues: In the current system, the users are not aware of the person
with whom they are dealing with on the other side of the phone or computer, which
makes it unsafe and may lead into the risk of scam. The users are finding current system
very easy to use in terms of UX but not in its UI design.

User Involvement: The users are completely involved in the process of development
of this portal as it has been customized periodically based on users feedback and
suggestions.

2.2.4 Economical Feasibility:


Economic analysis is most frequently used for evaluation of the effectiveness of the system.
More commonly known as cost/benefit analysis the procedure is to determine the benefit and
saving that are expected from a system and compare them with costs, decisions is made to design
and implement the system. This part of feasibility study gives the top management the economic
justification for the new system.
This is an important input to the management the management, because very often the top
management does not like to get confounded by the various technicalities that bound to be
associated with a project of this kind.

The proposed system is economically feasible for the organization since the organization need
not require any additional hardware and software resources as well as it saves a lot of time.

11 | P a g e

3. Process Description

12 | P a g e

3. Process Description
3.1 Project Overview
The Cirtru Classifieds helps users in finding elite roommates and buying & selling of other
verticals of classifieds such as cars, furnitures and other forsale items.
This online portal is created not only to allow the working professionals in seeking verified and
trusted roommates in their nearby circles or companies but also to buy and sell cars, furnitures
and other such forsale items among each other.
The Cirtru Classifieds Portal allows the users to go through the following stages:

Sign Up
Verify Work Email
Sign In
Post AD
Get Responses from other Users

Sign Up
This portal requires all users to sign up before posting an advertisement or contacting other
related advertisements posted by similar users into the portal. However this portal provides
multiple ways to sign up for all users and they are:
1. Sign Up with Facebook
2. Sign Up with Google Plus
3. Sign Up with Email
Verify Work Email
After a successful signup process, the user needs to verify his or her work email to ensure
that he/she is a valid employee of any particular company. The work email of users is
never revealed to other users and outsiders.
Sign In:
In order to post an advertisement or contacting other listings posted by similar users into the
portal, the user need to be logged in with his/her respective user id and password. Hence this
portal provides a quality login window which provides the user multiple ways to enter into the
site and they are:

13 | P a g e

1. Sign In with Facebook


2. Sign In with Google Plus
3. Sign In with Email
Once the user is logged into the portal for the first time, the portal prompts the user to verify
his/her work email. Hence it is more secure and reliable than other classified portals.

Post Ad:
Once the user is successfully logged in, he/she can post an advertisement for the availability of
room for sharing among roommates or subletting an entire room. The user is also allowed to sell
his/her car, furnitures and other such forsale items to get faster response from the buyers who
have been working in similar or other related circles or companies.
Get responses from other users:
Once the listing is live on Cirtru, the user will get response from other users if they are interested
in his/her respective listing. However this portal keeps its promise of not disclosing the users work
email by allowing the seekers or buyers to contact on the users personal email. The chance of
getting faster responses from verified users is very high in this portal.

14 | P a g e

4. Development Life Cycle

15 | P a g e

4. Development Life Cycle


Project Development Approach
Software Model
To solve actual problems in an industry, software developer or a team of developers must
incorporate a development strategy that encompasses the process, methods and tools layers
and generic phases. This strategy is often referred to as, process model or a software
developing paradigm. A process model for software developing is chosen based on the nature
of project and application, the methods and tools to be used, and the controls and
deliverables that are required. All software development can be characterized as a problem
solving loop in which four distinct stages are encountered: Status quo, Problem definition,
technical development and solution integration.

Regardless of the process model that is

chosen for a software project all of the stages coexist simultaneously at some level of detail.

The Software Development life cycle accepted for the development of Cirtru Classified
Portal is Agile Methodology.
Agile Methodology
The Agile methodology is an approach to project management, typically used in software
development. It helps teams respond to the unpredictability of building software through
incremental, iterative sprints. Below is a diagram showing the various components of the agile
method.

Agile methodologies require a Project Manager to work closely with the development team and
customer; driving the pace of the project. As a result, the Project Manager plays an integral role
in the success of the overall project.

Agile methodology is a collection of innovative, user-centered approaches to system


development. It tries to define an overall system plan quickly, develop and release software
quickly, and then continuously revise the software to add additional features. After the downsides

16 | P a g e

of the traditional software development approaches were identified (too many documentations,
all requirements must be known at the beginning of a project) it became obvious that we needed
another approach. And thats how Agile was created. Agile software development uses iterative
development as a basis but advocates a lighter and more people-centric viewpoint than traditional
approaches. Agile processes fundamentally incorporate iteration and the continuous feedback that
it provides to successively refine and deliver a software system.

Fig 4.1: Agile Methodology


1. Requirement Analysis: This is equivalent to researching and brainstorming what the product
requires. Examples can include general features, architecture discussions, workflow
discussions and general product discovery.

2. Design Document & Prototype: This is the SOW (Scope of work), which will have all the
requirements defined for the product.

17 | P a g e

3. Iterations, Demo & Feedback: During the development, iterations are needed to test the
code as well as get feedback from the customer on progress. Feedback from the customer can
include: mockups, front-end designs, and usability.

4. Identify defects & Resolve Bugs: Bugs and defects are always a constant in the software
development process. It is important that there are good Quality Assurance standards to
eliminate general issues.

5. Production & Technical Support: The software application is finally deployed and live.
Once this occurs, a support plan needs to be in place for maintenance and general support on
potential future issues.
Agile software development (also called agile) isnt a set of tools or a single methodology, but
a philosophy of people who had realized that in software development its pretty hard to predict:

The number of changes and priority changes in software requirements

How much design is needed before construction is used to prove it

The time for analysis, design, construction and testing

These are key characteristics of the agile methodology:

Deliver frequently

More iterations

Less defects

Test frequently

Collaborative approach

Maximum ROI

It is very effective in environments where frequent changes in the requirements happen quite
often due to various business reasons. Since it has more iterations and more than one built
deployment for a project, it involves more client interactions and testing which brings a solution
for the requirement. Some people believe that there is less documentation in Agile, but it includes
documentation and it can be used either in small or in large projects.

18 | P a g e

Fig 4.2: Agile Methodology Overview

4.1 Requirement Analysis:


The requirements for the Cirtru classifieds portal were generated by the Founder who on a
regular basis builds and deploy various important applications of the firm.
As the model being used in this project development is Agile Methodology, new requirements
evolve over time.
In this project, the technical team cannot effectively produce all requirements in high enough
detail for implementation to occur at the beginning of a project. Since Agile Methodology was
used, this portal values a high visibility and customer involvement.
The frequent changes made to this portal using Agile approaches gives customers a chance to
try portal periodically and provide feedback.

The requirements of the users for Cirtru Classified included the following:
1. Classified web application which is robust, scalable in nature.
2. Classified portal which have fast, responsive in design and have better UX and UI.

19 | P a g e

3. Classified portal that provide value to its contributors by making available to them its vast
global audience reach.
4. Displaying information related to advertisement in effective manner so that buyers can find
as per their requirements.
5. Filtering of data based on cities, price range and user provided options.
6. Classified portal that can provide statistical data of users to the superadmin
7. Classified portal which can easily support map based feature such as Google MAPS and
latest APIs.
8. Classified portal which can easily communicate with mail server and support their APIs.

20 | P a g e

4.2 Design Document & Prototype


In the Design phase, design of the product / solution to be done is come up with. Here the
development team understands the requirements and comes up with a test strategy / plan to
proceed with testing of the piece being developed.

In the design phase, we analyze individual requirements by model storming on a just-in-time


(JIT) basis for a few minutes before spending several hours or days implementing the
requirement. Guided by our architecture models, often hand-sketched diagrams, we take a highlycollaborative, test-driven design (TDD) approach to development where we iteratively write a test
and then write just enough production code to fulfill that test.

In the Agile Methodology, overall system design will emerge over time, evolving to fulfill new
requirements and take advantage of new technologies as appropriate. Hence Design models need
to be just barely good enough. You dont need to model every single detail in your models, the
models dont need to be perfect, and they certainly dont need to be complete. Agile Model
allows the developers to do some high-level architectural modeling during initial Iteration, also
known as the warm-up phase, and detailed design during development iterations and even during
the end game (if needed).

Fig 4.3: Agile Design Phase


21 | P a g e

4.2.1 Use Case Diagram


Use case diagrams are used to describe a set of actions (use cases) that some system or systems
should or can perform in collaboration with one or more external users of the System (actors).
Each use case should provide some observable and valuable result to the actors or other
stakeholders of the system.

Use case diagrams are used to specify:

4.2.1.1

required usages of a system - to capture what a system under construction is


supposed to do.
The functionality offered by a system.
How the environment should interact with the system so that it will be able to perform
its services.

Diagram Building Blocks

System:

Presented by a rectangle with system name in upper corner with applicable use cases
inside the rectangle and actors outside the system boundaries.
Actor:
Presented by a stick man icon with the name of the actor above or below the icon.
Use case:

Usually shown as an ellipse containing the name of the use case.

Extend:

A relationship in which one use case (extension) extends the behavior of another
use case (base).
Shown as a dashed line an open arrowhead directed from the extending use case to the
extended (base) use case.
The arrow is labeled with the keyword <<extend>>.

Include:

A relationship in which one use case (base) includes the functionality of another use
case (inclusion).
The arrow is labeled with the keyword <<include>>.

22 | P a g e

4.2.1.2

Use Case Diagram for Cirtru Classified

Fig 4.4: Use Case Diagram Cirtru Classified

23 | P a g e

Fig 4.5: Use Case Diagram of Cirtru Classified

24 | P a g e

4.2.1.3

Use Case Diagram for System Roles

Fig 4.6: Use Case Diagram for System Roles

25 | P a g e

4.2.2 Sequence Diagram


A sequence diagram is a kind of interaction diagram that shows how processes operate with one
another and in what order. It depicts the objects and classes involved in the scenario and the
sequence of messages exchanged between the objects needed to carry out the functionality of the
scenario. Sequence diagrams typically are associated with use case realizations in the Logical
View of the system under development.

4.2.2.1

Diagram Building Blocks

When drawing a sequence diagram, lifeline notation elements are placed across the top of the
diagram. Lifelines represent either roles or object instances that participate in the sequence being
modeled. Lifelines are drawn as a box with a dashed line descending from the center of the
bottom edge. The lifeline's name is placed inside the box. In order to display interaction,
messages are used. These are horizontal arrows with the message name written above them. Solid
arrows with full heads are synchronous calls, solid arrows with stick heads are asynchronous
calls and dashed arrows with stick heads are return messages.
Activation boxes or method-call boxes are opaque rectangles drawn on top of lifelines to
represent that processes are being performed in response to the message.

26 | P a g e

4.2.2.2

Sequence Diagram for System Login through system Account

Fig 4.7: Sequence Diagram for System Login through system Account

27 | P a g e

4.2.2.3

Sequence Diagram for System Login through Facebook Account

Fig 4.8: Sequence Diagram - System Login through Facebook Account

28 | P a g e

4.2.2.4

Sequence Diagram for System Login through Google Account

Fig 4.9: Sequence Diagram - System Login through Google Account

29 | P a g e

4.2.2.5

Sequence Diagram for System Signup & Account activation

Fig 4.10: Sequence Diagram - System Signup & Account activation

30 | P a g e

4.2.2.6

Diagram for Posting Ad

Fig 4.11: Sequence Diagram - Posting Ad

31 | P a g e

4.2.3 Activity Diagram


Activity diagrams are graphical representations of workflows of stepwise activities and actions
with support for choice, iteration and concurrency. In the Unified Modeling Language, activity
diagrams can be used to describe the business and operational step by-step workflows of
components in a system. An activity diagram shows the overall flow of control.

4.2.3.1

Diagram Building Blocks

Activity diagrams are constructed from a limited number of shapes, connected with
arrows. The most important shape types:

Rounded rectangles represent activities


Diamonds represent decisions
Bars represent the start (split) or end (join) of concurrent activities
A black circle represents the start (initial state) of the workflow
An encircled black circle represents the end (final state)

32 | P a g e

4.2.3.2

Activity Diagram for Simple System Login

Fig 4.12: Activity Diagram System Login

33 | P a g e

4.2.3.3

Activity Diagram for System operation

Fig 4.13: Activity Diagram System operation

34 | P a g e

4.2.3.4

Activity Diagram of System operation for seller

Fig 4.14: Activity Diagram System operation for Seller

35 | P a g e

4.2.3.5

Activity Diagram of System operation for Buyer

Fig 4.15: Activity Diagram System operation for Buyer

36 | P a g e

4.3 Iterations, Demo & Feedback


The main focus in this phase is on building the prototype iteratively and getting it reviewed by
the users (Development team) to ensure that the requirements are met.

The prototype is improved through demonstration to the user, taking the feedback and
incorporating the changes. This cycle is repeated generally twice or thrice until a part of
functional model is agreed upon.

The end product of this phase is a functional model consisting of analysis model and some
software components containing the major functionality.

Various Phases of this stage are:

Agree Plan
Create Functional Prototype
Review Prototype
Identify Functional Prototype

Agreement on Plan

All the analysis done in the business study phase must be agreed by the user. The
development should go accordingly.

Creating Functional Prototype

To develop functional prototype all the required GUI Components must be ready.

The functional prototype is just to check whether it meets a particular requirement. In this
Life Cycle development every requirement may lead to the development of a particular
prototype which would then be tested and implemented

Review Prototype

This step is about testing and reviewing prototype. This checks whether all the
requirements are met or not.

37 | P a g e

Identify Functional Prototype

The reviews or feedback from users is carefully analyzed and checked. For the proper
identification of the exact requirement, the whole cycle may be repeated.

4.4 Identify Defects & Resolve Bugs


Bugs and defects are always a constant in the software development process. It is important that
there are good Quality Assurance standards to eliminate general issues.

Some Agile teams, especially those that embrace lean development, take a different approach to
defects. Anytime a bug is identified, an automated test is written to reproduce it, the bug is fixed,
and both the code fix and the test are checked in. The test documents the bug, and will alert the
team in case that same problem occurs again. This enables teams to fix and forget bugs.

A much better primary use for QA Testers are to help define the functional requirements and
work with Developers to ensure those requirements are developed to correctly before any
Acceptance Testing is done. If a problem such as a failed Test Scenario is found in the Agile
QA Test state then the Developers and QA work together to fix it immediately.
This is one of the ways agile projects generally cost less than similar Traditional projects. In
Agile projects we fix the problems sooner in the cycle so that the developer who wrote the code
is able to fix and the sooner they find it and fix it the cheaper it is to do so. And we dont need to
document everything. We only document what we feel is necessary and will retain its value over
the long run.
If a system is purposefully designated that it must go through an End-to-End process by a
separate team, then any post-development testing that is covered by Accepted User Stories that
break are legitimate defects to be created, fixed and tracked.

38 | P a g e

4.5 Production and Technical Support


The software application is finally deployed and live. Once this occurs, a support plan needs to be
in place for maintenance and general support on potential future issues.

The goal of the Production phase is to keep systems useful and productive after they have been
deployed to the user community. This process will differ from organization to organization and
perhaps even from system to system, but the fundamental goal remains the same: keep the system
running and help users to use it.
The Production phase ends when the release of a system has been slated for retirement or when
support for that release has ended. The latter may occur immediately upon the release of a newer
version, sometime after the release of a newer version, or simply on a date that the business has
decided to end support. The Release Retirement milestone, described in detail in a later section, is
the final approval for a release to exit the production phase.
This phase typically has one iteration because it applies to the operational lifetime of a single
release of your software. There may be multiple iterations, however, if you defined multiple
levels of support that your software will have over time.
The Production phase for a release does not necessarily end when a new development project for
a subsequent release of that product begins. You will have to operate and support earlier releases
in parallel to development efforts. In fact, you may have multiple releases in production at the
same time. For example, the operations and support for both versions 1.0 and 1.1 continues for a
short period after version 1.1 is released. It is not until version 2.0 is released that support for
version 1.0 is discontinued.

39 | P a g e

5. System Requirement Study

40 | P a g e

5. System Requirement Study


Software Requirement Specification
5.1 Introduction
A software requirements specification (SRS) is a comprehensive description of the intended
purpose and environment for software under development. The SRS fully describes what the
software will do and how it will be expected to perform. An SRS minimizes the time and effort
required by developers to achieve desired goals and also minimizes the development cost. A good
SRS defines how an application will interact with system hardware, other programs and human
users in a wide variety of real-world situations. Parameters such as operating speed, response
time, availability, portability, maintainability, footprint, security and speed of recovery from
adverse events are evaluated. Methods of defining an SRS are described by the IEEE (Institute of
Electrical and Electronics Engineers) specification 830-1998.

5.2 Requirement Specification


5.2.1 Hardware Requirement

Pentium IV

80 GB Hard Disk

512 MB RAM

5.2.2 Software Requirement

Technology Requirement
o
o
o
o
o
o

Node.JS
Mongo DB
Angular JS
HTML5 and CSS3
Bootstrap3
JavaScript

41 | P a g e

Development Tools
o GIT
o WebStorm IDE
Web Browser :
o
o
o
o
o

Internet Explorer 8 and higher versions


Google Chrome
Safari
Opera Mini
Mozilla Firefox

Node.js
Node.js is a server side platform built on Google Chrome's JavaScript Engine (V8 Engine).
Node.js was developed by Ryan Dahl in 2009 and its latest version is v0.10.36.Node.js is an
open source, cross-platform Runtime Environment for server-side and networking
applications. Node.js applications are written in JavaScript, and can be run within the Node.js
runtime on OS X, Microsoft Windows, and Linux.
Node.js also provides a rich library of various JavaScript modules which eases the
development of web application using Node.js to great extents.
Following are the areas where Node.js is proving itself a perfect technology partner.

I/O bound applications

Data Streaming Application

Data Intensive Real-time Application

JSON APIs based application

Single Page Application

Features of Node.js
1. Asynchronous and Event Driven
All APIs of Node.js library are asynchronous that is non-blocking. It means a Node.js
based server never waits for a API to return data. Server moves to next API after calling it
and a notification mechanism of Events of Node.js helps server to get response from the
previous API call.

2. Very Fast

42 | P a g e

Being built on Google Chrome's V8 JavaScript Engine, Node.js library is very fast in
code execution.

3. Single Threaded but highly Scalable


Node.js uses a single threaded model with event looping. Event mechanism helps server
to respond in a non-blocking ways and makes server highly scalable as opposed to
traditional servers which create limited threads to handle requests.

4. No Buffering
Node.js applications never buffer any data. These applications simply output the data in
chunks.
Mongo DB
MongoDB is a cross-platform, document oriented database that provides, high performance, high
availability, and easy scalability. MongoDB works on concept of collection and document.
Features of MongoDB
1. Schema Less
MongoDB is document database in which one collection holds different documents.
Number of fields, content and size of the document can be differing from one document
to another.
2. Single Object Concept
Structure of a single object is clear and simple.
3. No complex Joins
4. Deep Query ability
MongoDB supports dynamic queries on documents using a document-based query
language that's nearly as powerful as SQL.
5. Tuning

6. Scalable
MongoDB is easy to scale
7. No need for object mapping
Mapping of application objects to database objects not needed in MongoDB.

43 | P a g e

Angular JS
AngularJS is an open source web application framework. It was originally developed in 2009
by Misko Hevery and Adam Abrons. It is now maintained by Google. Its latest version is
1.3.14. AngularJS is a powerful JavaScript based development framework to create RICH
Internet Application (RIA). AngularJS provides developers options to write client side
application (using JavaScript) in a clean MVC (Model View Controller) way.
Features of AngularJS
1. Data Binding
Data binding improves data reusability. Data binding is automatic synchronization of
data between model and view components.
2. Templates
These are the rendered view with information from the controller and model. These can
be a single file (like index.html) or multiple views in one page using "partials".
3. MVC
AngularJS incorporates the basic principles behind the original MVC software design
pattern into how it builds client-side web applications. AngularJS does not implement
MVC in the traditional sense, but rather something closer to MVVM (Model-View-View
Model).

4. Dependency Injection
AngularJS has a built-in dependency injection subsystem that helps the developer by
making the application easier to develop, understand, and test.
Dependency Injection (DI) allows you to ask for your dependencies, rather than having to
go look for them or make them yourself.
5. Directives

44 | P a g e

Directives can be used to create custom HTML tags that serve as new, custom widgets.
They can also be used to "decorate" elements with behavior and manipulate DOM
attributes in interesting ways.
6. Services
AngularJS come with several built-in services for example $http to make a
XMLHttpRequests.
7. Filters
These select a subset of items from an array and return a new array.
8. Routing
It is concept of switching views.
9. Scope
These are objects that refer to the model. They act as glue between controller and view.
HTML5
The HTML 5 language has a "custom" HTML syntax that is compatible with HTML 4 and
XHTML1 documents published on the Web, but is not compatible with the more esoteric
SGML features of HTML 4. HTML 5 does not have the same syntax rules as XHTML where
we needed lower case tag names, quoting our attributes; an attribute had to have a value and
to close all empty elements. New elements are introduced into HTML5, which helps for better
structure. Rich set of Application Programming Interfaces are available such as HTML
Geolocation, HTML Drag and Drop, HTML Local Storage, HTML Cache which helps
development of web application a lot easier.

CSS3
CSS3 is the latest standard for CSS. CSS3 is completely backwards-compatible with earlier
versions of CSS. It contains the "old CSS specification" (which has been split into smaller
pieces). In addition, new modules are added. Some of the most important CSS3 modules are:

Selectors
Box Model
Backgrounds and Borders

45 | P a g e

Text Effects
2D/3D Transformations
Animations

BOOTSTRAP3
Bootstrap is a sleek, intuitive, and powerful, mobile first front-end framework for faster and
easier web development. It uses HTML, CSS and JavaScript. Bootstrap easily and efficiently
scales your websites and applications with a single code base, from phones to tablets to
desktops with CSS media queries. It was released as an open source product in August 2011
on GitHub.
JavaScript
JavaScript is a dynamic computer programming language. It is lightweight and most
commonly used as a part of web pages, whose implementations allow client-side script to
interact with the user and make dynamic pages. It is an interpreted programming language
with object-oriented capabilities. JavaScript is complementary to and integrated with HTML.
JavaScript is open and cross platform.
Git
Git is a free and open source distributed version control system designed to handle everything
from small to very large projects with speed and efficiency. The Git feature that really makes
it stand apart from nearly every other SCM out there is its branching model.

46 | P a g e

6. Testing

47 | P a g e

6. Testing
6.1 Unit Testing
This is the first and the most important level of testing. As soon as the programmer
develops a unit of code the unit is tested for various scenarios. As the application is built it is
much more economical to find and eliminate the bugs early on. Unit Tests are a key component
of software engineering, and the Extreme Programming discipline leverages them to permit easy
code changes. Developers write tests for every class they produce. The tests are intended to test
every aspect of the class that could conceivably not work.
Hence Unit Testing is the most important of all the testing levels. As the software project
progresses ahead it becomes more and more costly to find and fix the bugs.
The testing involved a full review of the coding and checking if further enhancements can be
made to the already successful module, the unit testing is carried out during development
stage of the project and it rightly justifies.
In Unit testing, while testing we focused on verifying small portions of functionality of Cirtru
classified. For example, an individual unit test case focuses on verifying that the correct data has
been saved to the database when post ad button on form is being clicked.
An important subset of unit testing that is often overlooked is range checking. That is, making
sure all the fields that collect information from the user, can gracefully handle any value that is
entered. Most people think of range checking as making sure that a numeric field only accepts
numbers.
Once the unit testing is completed for all the allowed modules or forms the major event of
integration testing takes place.
Unit testing is done by developers.

48 | P a g e

6.2 Functionality Testing


In this testing, we performed testing for all the links in web pages for submitting or getting
information from user, cookie testing.

6.2.1 Checking of all links

Testing for all internal links.


Testing links jumping on the same page.
Testing of links used to send the email to admin or other users from web pages.
Testing for orphan pages.
Testing for broken links.

6.2.2 Testing for forms

Testing for validation on each field


Testing for Default values of the fields.
Testing of options to create forms if any, form delete, view or modify the forms.

6.2.3 Cookies Testing


Cookies are small files stored on user machine. These are basically used to maintain the session
or store user related data. Here we test the web application by enabling or disabling the cookies in
your browser options. In this we test if the cookies are encrypted before writing to user machine.
Also we test for login sessions and user statistics after session end.

6.2.4 Database Testing


Data consistency is very important in web application. Checking for data integrity and errors
while user edit, delete,

modify the forms or do any DB related functionality.

Testing if the entire database queries are executing correctly, data is retrieved correctly and als qo
updated correctly is being performed.

6.2.5 HTML/CSS Validation


HTML/CSS validation plays very important role for search engines, hence plays important role.
In this web site is validate for HTML syntax errors.

49 | P a g e

6.3

Usability Testing

6.3.1 Testing for navigation:


User can navigate from one page to another through different controls like buttons, boxes or
using the links on the pages to surf different pages.
Usability testing includes:
Web site should be easy to use. Instructions should be provided clearly. Check if the provided
instructions are correct means whether they satisfy purpose. Main menu should be provided on
each page. It should be consistent.

6.3.2 Content Checking


Content should be logical and easy to understand. Check for spelling errors. Use of dark colors
annoys users and should not be used in site theme. There are some standards that are used to
follow for web page and content building. These are common accepted standards like as
mentioned above about annoying colors, fonts, frames etc. Content should be meaningful. All the
anchor text links should be working properly. Images should be placed properly with proper
sizes.

6.3.3 Other user information for user help


Sitemap should be present with all the links in web sites with proper tree view of navigation.
Check for all links on the sitemap. Search in the site option will help users to find content
pages they are looking for easily and quickly. These are all optional items.

6.4 Interface Testing


The main interfaces are:

Web server and application server interface


Application server and Database server interface.

Checking of all interactions between these servers are executed properly is done in this part.
Errors are handled properly. If database or web server returns any error message for any
query by application server then application server should catch and display these error
messages appropriately to users.

50 | P a g e

6.5 Compatibility Testing

Browser Compatibility:
Different browsers have different configurations and settings that your web page should
be compatible with. Your web site coding should be cross browser platform compatible.
In case of using java scripts or AJAX calls for UI functionality, performing security
checks or validations then give more stress on browser compatibility testing of your web
application. Test web application on different browsers like Internet explorer, Firefox,
Netscape navigator, AOL, Safari, Opera browsers with different versions.

Operating System Compatibility


Some functionality in your web application is may not be compatible with all operating
systems. All new technologies used in web development like graphics designs, interface
calls like different APIs may not be available in all Operating Systems. It is testing of
web application on different operating systems like Windows, UNIX, MAC, Linux, and
Solaris with different OS flavors.

Mobile Browsing
Here we test the web pages in mobile browsers. If any compatibility issues may be there
on mobile browser, they may note down and notify to developers during this.

6.6 Performance Testing


Web application should sustain to heavy load. Web performance testing should include:

Web Load Testing


Web Load Testing consists of testing application performance on different internet
connection speed. In web load testing, test if many users are accessing or requesting the
same page. Can system sustain in peak load times?
Site should handle many simultaneous user requests, large input data from users,
Simultaneous connection to DB, heavy load on specific pages etc.

51 | P a g e

Web Stress Testing


Web stress testing is performed to break the site by giving stress and checked how
system reacts to stress and how system recovers from crashes. Stress is generally given
on input fields, login and sign up areas. In web performance testing web site
functionality on different operating systems and different hardware platforms is checked
for software, hardware memory leakage errors.

6.7 Security Testing


Following are some test cases considered for web security testing:
1. Test by pasting internal URL directly into browser address bar without login. Internal
pages should not open.
2.

If you are logged in using username and password and browsing internal pages then
try changing URL options directly. I.e. If you are checking some publisher site
statistics with publisher site ID= 123. Try directly changing the URL site ID
parameter to different site ID which is not related to logged in user. Access should
deny for this user to view others stats.

3. Try some invalid inputs in input fields like login username, password, and input text
boxes. Check the system reaction on all invalid inputs.
4.

Web directories or files should not be accessible directly unless given download
option.

5. Test if SSL is used for security measures. If used proper message should get displayed
when user switch from non-secure http:// pages to secure https:// pages and vice versa.
6. All transactions, error messages, security breach attempts should get logged in log
files somewhere on web server.

52 | P a g e

7. User Manuals

53 | P a g e

Cirtru Home Page

54 | P a g e

55 | P a g e

56 | P a g e

57 | P a g e

User Sign Up page

58 | P a g e

User Sign in Page

59 | P a g e

User Home Page

60 | P a g e

User Setting Page

61 | P a g e

62 | P a g e

63 | P a g e

Roommates Listing Page

64 | P a g e

65 | P a g e

66 | P a g e

Post Roommate Ad Page

67 | P a g e

68 | P a g e

69 | P a g e

70 | P a g e

FAQ Page

71 | P a g e

About Us Page

Contact Us Page

72 | P a g e

Circles of Trust page

Sitemap Page

73 | P a g e

Cirtru Home Page in Mobile View

74 | P a g e

Cirtru Sign In Page in Mobile View

75 | P a g e

Cirtru Roommates Listing and View Page

76 | P a g e

Cirtru Sublets Listing and View Page

77 | P a g e

Cirtru Cars Listing and View Page

78 | P a g e

Cirtru Forsale Listing and View Page

79 | P a g e

8. Key Learnings

80 | P a g e

8. Key Learnings

The internship period in Cirtru classified Pvt Ltd provided me a great opportunity to learn
and experience many new things.
It gave me a chance to learn various technologies in great detail.
Key learning:
1. Creating & managing web applications through Node.js and Angular.js.
2. Node.JS frameworks and its working
3. Techniques and methods to create responsive web designs.
4. Validation and filtering of data using Angular.js and validation in HTML5.
5. Techniques of using an API of Google Maps and analytics
6. Use of MVC architecture for building website.
7. Use of dependency injection and customizing angular plugins.
8. Use of JavaScript with angular for dynamic content generation.
9. Creation of Email templates.
10. Testing tools for automation testing.
11. Knowledge about UI and UX design
12. Techniques for creating and customizing css through css preprocessors.
Along with the technical learning I also had an opportunity to understand many marketing
terms.
I also got a chance to improve my skills to interact with users.
I also got motivated to have a strong testing of web system and to build all possible test cases.
Thus I understood the importance of testing.
Internship in Cirtru Classified Pvt Ltd not only helped me to improve my technical skills but also
helped me advance my personal and professional skills and competencies.

81 | P a g e

9. Bibliography

82 | P a g e

Books:

Learning JavaScript Design Patterns

Building Node Applications with Mongodb and Backbone by Mike Wilson

Angular JS by Shyam Seshadri

Websites:

www.codeschool.com

www.tutorialspoint.com

www.stackoverflow.com

www.w3schools.com

docs.mongodb.org/manual/core/document/

nodejs.org

getbootstrap.com

83 | P a g e

Вам также может понравиться