Академический Документы
Профессиональный Документы
Культура Документы
A PROJECT REPORT
Submitted in partial fulfillment of the requirements
Of the degree of
Ajit T. Panada
(Roll No. 39)
Supervisor :
V. E. S. INSTITUTE OF
OF TECHNOLOGY
CHEMBUR -74
UNIVERSITY OF MUMBAI
2014 - 2015
ii | P a g e
PRINCIPAL
HEAD OF DEPT
EXTERNAL EXAMINER
iii | P a g e
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)
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.
16
20
22
23
24
26
28
29
30
31
32
34
35
36
37
viii | P a g e
LIST OF ABBREVIATIONS
PVT LTD
Private Limited
IT
Information Technology
QA
Quality Assurance
RAD
UAT
GUI
UI
User Interface
UX
User Experience
JS
Java Script
HTML
CSS
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
Page No.
ii
v
vi
vii
viii
ix
Chapter
1. Introduction-------------------------------------------------------------------
2
3
4
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
12
13
15
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 -----------------------------------
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 ----------------------------------------------------
28
29
30
31
32
4.2.3.1
32
4.2.2.2
33
34
35
36
37
38
39
40
41
5.2
41
41
41
6. Testing--------------------------------------------------------------------------6.1
47
48
49
49
49
49
49
49
6.3 Usability Testing --------------------------------------------------------------6.3.1 Testing for Navigation ----------------------------------------------------6.3.2 Content Checking -----------------------------------------------------------
50
50
50
50
50
6.5
51
51
6.7
52
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.
3|Page
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.
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
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.
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.
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.
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
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.
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.
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
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.
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
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
15 | P a g e
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.
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.
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:
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
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
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).
4.2.1.1
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:
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
23 | P a g e
24 | P a g e
4.2.1.3
25 | P a g e
4.2.2.1
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
Fig 4.7: Sequence Diagram for System Login through system Account
27 | P a g e
4.2.2.3
28 | P a g e
4.2.2.4
29 | P a g e
4.2.2.5
30 | P a g e
4.2.2.6
31 | P a g e
4.2.3.1
Activity diagrams are constructed from a limited number of shapes, connected with
arrows. The most important shape types:
32 | P a g e
4.2.3.2
33 | P a g e
4.2.3.3
34 | P a g e
4.2.3.4
35 | P a g e
4.2.3.5
36 | P a g e
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.
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.
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
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.
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
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
40 | P a g e
Pentium IV
80 GB Hard Disk
512 MB RAM
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
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.
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.
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
Testing if the entire database queries are executing correctly, data is retrieved correctly and als qo
updated correctly is being performed.
49 | P a g e
6.3
Usability Testing
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
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.
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.
51 | P a g e
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
54 | P a g e
55 | P a g e
56 | P a g e
57 | P a g e
58 | P a g e
59 | P a g e
60 | P a g e
61 | P a g e
62 | P a g e
63 | P a g e
64 | P a g e
65 | P a g e
66 | P a g e
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
Sitemap Page
73 | P a g e
74 | P a g e
75 | P a g e
76 | P a g e
77 | P a g e
78 | P a g e
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:
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