CIRTRU CLASSIFIED Submitted in partial fulfillment of the
requirements MASTER OF COMPUTER APPLICATION DEPARTMENT OF MASTER OF
COMPUTER APPLICATION V. E. S. INSTITUTE O CIRTRU CLASSIFIED A
PROJECT REPORT Submitted in partial fulfillment of the requirements
Of the degree of MASTER OF COMPUTER APPLICATIONby Ajit T. Panada
(Roll No. 39) Supervisor : Prof. Mr. Ramesh Solanki DEPARTMENT OF
MASTER OF COMPUTER APPLICATIONV. E. S. INSTITUTE OF
TECHNOLOGYCHEMBUR -74 UNIVERSITY OF MUMBAI 2014 - 2015 MASTER OF
COMPUTER APPLICATION DEPARTMENT OF MASTER OF COMPUTER APPLICATION F
TECHNOLOGY ii | P a g e VIVEKANAND EDUCATION SOCIETYSINSTITUTE OF
TECHNOLOGYCollectorCERTIFICATE OF APPROVAL OF PROJECT
WORKThisistocertifythatMcarriedoutthe projectwork
tVIofMCAoftheUniversityofMumbai, 2014 2015. PRINCIPAL PROJECT
GUIDE/INTERNAL VIVEKANAND EDUCATION SOCIETYSINSTITUTE OF
TECHNOLOGYCollectors Colony, Chembur, Mumbai - 400 074 CERTIFICATE
OF APPROVAL OF PROJECT
WORKThisistocertifythatMr.AjitTankiaPanada(RollNo.39)hassatisfactorilcarriedoutthe
projectwork titledCirtru Classified in partial fulfilment of Sem.
ofMCAoftheUniversityofMumbai,MaharashtraStateHEAD OF DEPTPROJECT
GUIDE/INTERNAL EXAMINEREXTERNAL EXAMINERiii | P a g eVIVEKANAND
EDUCATION SOCIETYS INSTITUTE OF TECHNOLOGY 074 CERTIFICATE OF
APPROVAL OF PROJECT WORK hassatisfactorily in partial fulfilment of
Sem. MaharashtraStateduringtheyear HEAD OF DEPT EXAMINER iv | P a g
e Project Report Approval for M.C.A
ThisthesisprojectreportentitledCirtruClassifiedbyAjitTankiaPanadais
approved for the degree of Master of Computer Applications.
Examiners 1.-----------------------------------------
2.----------------------------------------- Date: Place: v | 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
adequatelycitedandreferencedtheoriginalsources.IalsodeclarethatIhave
adheredtoallprinciplesofacademichonestyandintegrityandhavenot
misrepresentedorfabricatedorfalsifiedanyidea/data/fact/sourceinmy
submission.Iunderstandthatanyviolationoftheabovewillbecausefor
disciplinary action by the Institute and can also evoke penal
action from the sources which have thus not been properly cited
orfrom whom proper permission has not been taken when needed.
---------------------------------------------- (Signature)
----------------------------------------- (Name of student and Roll
No.) Date: vi | P a g e ACKNOWLEDGEMENT
Ioweagreatmanythankstoagreatmanypeoplewhohelpedandsupportedme
during the writing of this book.
MydeepestthankstoLecturer,Mr.RameshSolankitheGuideoftheprojectfor
guiding and correcting various documents of mine with attention and
care. He has
takenpaintogothroughtheprojectandmakenecessarycorrectionasandwhen
needed. I express my thanks to the Principal Dr.(Mrs.) J. M. Nair
for her continued support andIwouldliketo expressmy sincere thanks
toMrs. NishiTiku(H.O.D) forhis 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.
IwouldalsothankmyInstitutionandmyfacultymemberswithoutwhomthis
projectwouldhavebeenadistantreality.Ialsoextendmyheartfeltthankstomy
family and well wishers. Ajit Panada vii | P a g e ABSTRACT
CurrentlyClassifiedwebserviceproviderlikeSulekha.comandOLXproviding
servicestoallsocialclasseswheretrustfactorisbeingcompromised.Today
classifiedsserviceproviderwebsitesverifytheirusersbasedonemailaddress
andmobilenumber.Howeveranypersoncancreateanyfakeemailaddresses
andgetverifyonrespectiveclassifiedwebsiteandcanpostfakeadvertiseon
such web sites and make user frustrated.
CirtruClassifiedsverifiessellersandbuyersbasedontheirworkemailwithout
revealingtheirworkidentitytooutsiders.Insimplewords,itisLinkedInfor
classifieds with identity hidden. It is very essential for a user
to find elite seller or
sellshisstufftotheworkingprofessionalsintheirownornearbycircles
(companies).
ThisentireprojectbuildsusingNode.js,Angular.js,HTML5&CSS3.Major
componentsofthisprojectareresponsive,userfriendlyandhavegoodUXthat
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. viii | P a g e LIST OF FIGURES Figure No.NamePage
No. Figure 4.1Agile Methodology16 Figure 4.2 Figure 4.3 Figure 4.4
Figure 4.5 Figure 4.6 Figure 4.7 Figure 4.8 Agile Methodology
Overview Agile Design Phase Use Case Diagram Cirtru Classified Use
Case Diagram of Cirtru Classified Use Case Diagram for System Roles
Sequence Diagram for Login through System Account Sequence Diagram
for Login through Facebook Account 20 22 23 24 26 28 29 Figure
4.9Sequence Diagram for Login through Google Account30 Figure
4.10Sequence Diagram System Signup & Account Validation31
Figure 4.11Sequence Diagram Posting Ad32 Figure 4.12 Figure 4.13
Figure 4.14 Activity Diagram System Login Activity Diagram System
Operation Activity Diagram System Operation for Seller 34 35 36
Figure 4.15Activity Diagram System Operation for Buyer37 ix | P a g
e LIST OF ABBREVIATIONS PVT LTD Private Limited ITInformation
Technology QAQuality Assurance RAD Rapid Application Development
UAT User Acceptance Testing GUI Graphical User Interface UI User
Interface UXUser Experience JS Java Script HTMLHypertext Markup
Language CSSCascading Style SheetDBDataBase ADAdvertisement SOW
Scope of Work x | P a g e TABLE OF CONTENT Sr. No. Title Page No.
1.CERTIFICATE
----------------------------------------------------------------------ii
2.DECLARATION
--------------------------------------------------------------------
v 3.ACKNOWLEDGEMENT
---------------------------------------------------------vi
4.ABSTRACT
--------------------------------------------------------------------------vii
5.LIST OF FIGURES
-----------------------------------------------------------------viii
6.LIST OF ABBREVIATIONS
-----------------------------------------------------ix Chapter1.
Introduction-------------------------------------------------------------------1
1.1
Abstract---------------------------------------------------------------------------
2 1.1.1About Organization
-------------------------------------------------------31.2 System
overview
----------------------------------------------------------------4
1.3 Objective
-------------------------------------------------------------------------
4 1.4 Scope
------------------------------------------------------------------------------
5 1.5 Project Profile
-------------------------------------------------------------------
5 2. System Analysis
---------------------------------------------------------------7
2.1 System Study and Problem Formulation
-----------------------------------8 2.1.1Bottlenecks Identified in
Existing System ------------------------------ 8 2.1.2Need of the
Current System
-----------------------------------------------92.2Feasibility
Study
---------------------------------------------------------------- 10
2.2.1 Technical Feasibility
------------------------------------------------------- 10 2.2.2
Resource Availability
------------------------------------------------------ 10 2.2.3
Operational Feasibility
----------------------------------------------------- 10 2.2.4
Economical Feasibility
-----------------------------------------------------11 3. Process
Description
----------------------------------------------------------12
3.1Project Overview
--------------------------------------------------------------13 4.
Development Life Cycle
----------------------------------------------------15
4.1Requirement Analysis
--------------------------------------------------------- 19 4.2
Design Document and Prototype
--------------------------------------------21 4.2.1 Use Case
Diagram ----------------------------------------------------------
22 4.2.1.1Diagram Building Blocks
------------------------------------------------22 4.2.1.2Use Case
Diagram for Cirtru Classified -------------------------------23
4.2.1.3Use Case Diagram for System Roles
-----------------------------------25 4.2.2Sequence Diagram
--------------------------------------------------------- 26
4.2.2.1Diagram Building Blocks
------------------------------------------------26 4.2.2.2Sequence
Diagram for Login through System Account --------------27 xi | P a
g e 4.2.2.3Sequence Diagram for Login through Facebook Account
------------ 28 4.2.2.4Sequence Diagram for Login through Google
Account --------------- 29 4.2.2.5Sequence Diagram for System
Signup and Account Activation ----- 30 4.2.2.6Diagram for Posting
Ad ----------------------------------------------------31
4.2.3Activity Diagram
----------------------------------------------------------32
4.2.3.1Diagram Building Blocks
--------------------------------------------------32
4.2.2.2Activity 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.3Iteration, Demo and Feedback
------------------------------------------------37 4.4Identify
Defects and Resolve Bugs
-------------------------------------------38 4.5Production and
Technical Support ------------------------------------------39 5.
System Requirement Study
------------------------------------------------- 40
5.1Introduction
----------------------------------------------------------------------41
5.2Requirement Specification
----------------------------------------------------41
5.2.1Hardware Requirement
----------------------------------------------------41
5.2.2Software Requirement
-----------------------------------------------------41 6.
Testing---------------------------------------------------------------------------47
6.1Unit Testing
---------------------------------------------------------------------
48 6.2Functionality Testing
----------------------------------------------------------49 6.2.1
Checking of all links
-------------------------------------------------------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.3Usability
Testing
--------------------------------------------------------------- 50
6.3.1 Testing for Navigation
----------------------------------------------------- 50 6.3.2
Content Checking
-----------------------------------------------------------50 6.3.3
Other user information for user help
------------------------------------- 50 6.4Interface Testing
--------------------------------------------------------------- 50
6.5Compatibility Testing
--------------------------------------------------------- 51
6.6Performance Testing
---------------------------------------------------------- 51
6.7Security Testing
---------------------------------------------------------------- 52
7. User Manual
------------------------------------------------------------------53
8. Key Learning
-----------------------------------------------------------------
80 9. Bibliography
------------------------------------------------------------------
82 1 | P a g e
1. Introduction
2 | P a g e 1. Introduction 1.1ABSTRACT
Thisdocumentismeantfordescribingallthefeaturesandproceduresthatwere
followedwhile developingthe system.
Thisdocumentspeciallymentionsthedetailsoftheprojecthowitwasdeveloped,the
primaryrequirement,aswellasvariousfeaturesandfunctionalitiesoftheprojectandthe
proceduresfollowedin achievingthese objectives.
Themainobjectiveofthisprojectistoallowuserstofindelitesellerstheycouldtrustwithin
their nearby circles.
CirtruClassifiedsverifiessellersandbuyersbasedontheirworkemailwithoutrevealingtheir
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).
Thissystemisveryhelpfulforprovidingasmoothinteractionbetweenverifiedsellersand
buyers, who have been working in same or different
companies/schools.
TheITinitiativeshaveencourageddevelopingasystemthatprovidesanintegratedand
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. 3 | P a g e 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
CirtruClassifiedPVTLTDisMumbaibasedstartupfirmwhichisclassifiedserviceprovider
currentlycateringSanFranciscoBayArea.Cirtru.comisLinkedInforclassifiedswithidentity
hidden.CirtruClassifiedPVTLTDisMumbaibasedstartupfoundedbyex-Stanfordandex-IITian.CurrentlymarketplaceforCirtruClassifiedisRental,Housing,Cars,andUseditems.
CirtruClassifiedhelpsuserfindappropriatebuyer/sellerthatyoucouldtrust.Cirtruclassified
initially available for Indian people in San Francisco, but now its
available for all people inbay area. Cirtru Classified is local
classified currently available for City of San Francisco, South Bay
Area,EastBayArea,Peninsula,NorthBay,andSantaCruz,California.Cirtruclassifiedhelps
userstofindelitesellerstheycouldtrustwithintheirnearbycircles.CirtruClassifiedsverifies
sellersandbuyersbasedontheirworkemailwithoutrevealingtheirworkidentitytooutsiders.
Cirtruverifies buyers/sellers
basedontheiremployers/schools.Itisveryessentialforauserto
findelitesellerorsellshisstufftotheworkingprofessionalsintheirownornearbycircles
(companies).CurrentlyCirtruclassifiedhave5classifiedcategoriesasRoommates,Sublets,
Cars,Furniture&Useditems.Cirtruclassifiedfocusesoncreatingtheirvaluesandproviding
value added services to their customer. Read more
at:https://cirtru.com/aboutus. 4 | P a g e 1.2SYSTEM OVERVIEW
CirtruClassifiedwebsystemisbuiltonNode.js,AngularJS,Bootstrap,HTML5,CSS3,and
MongoDB. The Web application is built to serve the following areas.
Tomaketheprocessofpostinganadvertisementforusermorereliable,
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 databaseis self-explanatoryas the
code. Administrator has a privilege to add, modify, and delete work
email based on user request.
Administratorhasprivilegetoadd,delete,andmodifyadvertisementpostedby
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.3OBJECTIVE
Creatinguserfriendly,easytouse,attractiveUIandUXthathelpsusertopost
advertise easily.
Tomaintainandstoreaddetail,responsedetail,adviewerdetailsandadposter
detail. Provide classifieds as a service to enable its users to
connect with one another.
UseNODE.JSandMongoDBservertechnologytocreatestrongandsecured
databaseconnectivity. Provide value to its contributors by making
available to them its vast global audience reach.
Displayinginformationrelatedtoadvertisementineffectivemannersothatbuyers
can find as per their requirements. Filter data as per user
provided option. 5 | P a g e 1.4SCOPE
CirtruClassifiedwebsiteisLinkedInforclassifiedswithuseridentityhidden.Currently
CirtruClassifiedcateringservicestoonlySanFranciscoBayArea.Everyuseronthis
classifiedisverifiedbasedonitsemployer/school.IfemployeeofGooglelookingfora
roommateorbuyingusedcartrustsanAppleemployeemorethananystrangeronother
classified site. Cirtru Classified keeps user privacy, never reveal
or share it with others and
keepsusersprotectedfromscams.CirtruClassifiedsallowsusersinseekingelite
roommatesandtenantswithintheirnearbycirclesorcompaniesaswellashelpsthemin
buyingandsellingofotherverticalsofclassifiedssuchascars,furnituresandother
forsale items posted by users from same or different companies.
1.5PROJECT 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
WebsitewillbeaccessedthroughaBrowserInterface.Theinterfacewouldbe
viewedbest using 1024x 768 and 800x 600 pixels resolutionsettingfor
desktop. As website is responsive in design it can be viewed from
small size device such as
mobilephonetolargesizedevicesuchasdesktop.Thesoftwarewouldbefully
compatiblewithGoogleChromeBrowserandaboveversions.Nouserwouldbe
able to access any part of the application without logging on to
the system. 3.Hardware/ SoftwareEnvironment Hardware Interface:
PentiumIV 80 GB Hard Disk 512 MB RAM 6 | P a g e Software
Interface: Operating System : Any operating system DevelopmentTools
oNode.JS oMongo DB oAngularJS oHTML5 and CSS3 oBootstrap3 Web
Browser : oInternet Explorer 8 and higher versions oGoogle Chrome
oSafari oOpera Mini oMozillaFirefox Documentation&
PresentationTools oMicrosoftWord 2013 4.Constraints:
UserinterfaceisonlyinEnglishi.e.nootherlanguageoption is available.
User can login only with his assigned username and password i.e. no
guest facility is available. 7 | P a g e 2. System Analysis 8 | P a
g e 2. System Analysis 2.1System Study and Problem Formulation
2.1.1Bottlenecks Identified in Existing System
CurrentlyClassifiedwebserviceproviderlikeSulekha.comandOLXprovidingservicestoall
socialclasseswheretrustfactorisbeingcompromised.Todayclassifiedsserviceproviderweb
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.
Craigslistisaclassifiedadvertisementswebsitewithsectionsdevotedtojobs,housing,and
personals,forsale,services,community,anddiscussionforums.CraigNewmarkbeganthe
service in 1995 as an email distribution list
tofriends,featuringlocaleventsintheSan
FranciscoBayArea.Craigslistbecameweb-basedservicein1996andexpandedintoother
classifiedsectionandcategories.ItstartedexpandingtootherU.Scitiesin2000,andnow
covers 50 countries.
HoweverClassifiedsitecraigslisthasbeenlinkedwith330crimes,12murdersand105
robberies or assault in the United States last year due to
anonymous interactions on the site, says a new study.
ThestudyundertakenbyAIMGroup,whichexaminednationwidecrimereportsreportedin
localmediacoverage,concludestheanonymityonCraigslistisexploitedbycriminalsacross
thecountrytorobassaultorevenkillconsumersastheytrytobuyorsellthingslikecars,
apartments and
furniture.ThereportcallsCraigslistacesspoolofcrime,citingmurders,rapes,robberies,assaultand
rentalrip-offsassomeoftheexamples.AIMconcludestheseareeverydayoccurrenceson
Craigslist, warning users that the old rules ofmeetingin public and
knowing whomyoure dealing with no longer apply.9 | P a g e
AnonymousclassifiedscanposeaseriousdangertoconsumersandasaresultCraigslisthas
become a one-stop shop for criminals, says Peter Zollman, founding
principal of AIM. In this era of Facebook and socialnetworks, its
smarter and safer to sell a car or a couch to someone you
know.Oncraigslistbuyerdontknowwhomtheyaredealingwithontheothersideofthephoneor
computer,whichmakesitunsafe.BesidesCraigslistcompletelyallowsuserssearchwithout
requiring a user name or an email address which may lead into the
risk of scam. 2.1.2Need of the Current System
Tosolvesecurityrelatedproblemsinthedomainofclassified,theyrequireacomputerized
system that verify userin order to introduce trustfactor in the
classified section. Theyrequired
awebbasedapplicationthatwillprovideaworkingenvironmentthatwillbeflexibleand
will enable smooth interaction between elite buyer and seller. Aims
andObjectiveCreating 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.
Providevaluetoitscontributorsbymakingavailableto
themitsvastglobalaudience 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
Ingeneralithasbeenassumedthattheuserhascompleteknowledgeofthe
systemthatmeansuserisnotanaiveuser. Systemis target for users that
have work email.Anydataenteredbyhim/herwill bevalid. Dependencies
Oneshouldverifyhis/herownworkE-mailbeforepostingandcontactingany
advertise in this system. 10 | P a g e 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
whatextentitcansupportthesystem.Accordingtofeasibilityanalysisprocedurethetechnical
feasibilityofthesystemisanalyzedandthetechnicalrequirementssuchassoftwarefacilities,
procedure, inputs are identified. It is also one of the
importantphases of the system development activities. The system
offers greater levels of user friendliness combined with greater
processing speed.Therefore,thecost
ofmaintenancecanbereduced.Since,processingspeedisveryhigh and the
work is reduced in the maintenance point of viewmanagement 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:Operationalfeasibilityisameasureofhowwellaproposedsystemsolvestheproblems,and
takesadvantageoftheopportunitiesidentifiedduringscopedefinitionandhowitsatisfiesthe
requirements identified in the requirements analysis phase of
system development.
ManagementSupport:Operationalfeasibilityreviewsthewillingnessofthe
organizationtosupporttheproposedsystem.Thisisprobablythemostdifficultofthe
feasibilitiestogauge.Inordertodeterminethisfeasibility,itisimportanttounderstand
the management commitment to the proposed project.The
managementisinfull support of this portal. 11 | P a g e
CurrentSystemIssues:Inthecurrentsystem,theusersarenotawareoftheperson
withwhomtheyaredealingwithontheothersideofthephoneorcomputer,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.
UserInvolvement:Theusersarecompletelyinvolvedintheprocess
ofdevelopment
ofthisportalasithasbeencustomizedperiodicallybasedonusersfeedbackand
suggestions. 2.2.4 Economical
Feasibility:Economicanalysisismostfrequentlyusedforevaluationoftheeffectivenessofthesystem.
Morecommonlyknownascost/benefitanalysistheprocedureistodeterminethebenefitand
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.Thisisanimportantinputtothemanagementthemanagement,becauseveryoftenthetop
managementdoesnotliketogetconfoundedbythevarioustechnicalitiesthatboundtobe
associated with a project of this kind.
Theproposedsystemiseconomicallyfeasiblefortheorganizationsincetheorganizationneed
not require any additional hardware and softwareresources as well
as it saves a lot of time. 12 | P a g e 3. Process Description 13 |
P a g e 3. Process Description 3.1Project Overview
TheCirtruClassifiedshelpsusersinfindingeliteroommatesandbuying&sellingofother
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
Thisportalrequiresalluserstosignupbeforepostinganadvertisementorcontactingother
relatedadvertisementspostedbysimilarusersintotheportal.Howeverthisportalprovides
multiple ways to sign up for all users and they are: 1.Sign Up with
Facebook2.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
thathe/sheisavalidemployeeofanyparticularcompany.Theworkemailofusersis
never revealed to other users and outsiders. Sign In:
Inordertopostanadvertisementorcontactingotherlistingspostedbysimilarusersintothe
portal,theuserneedtobeloggedinwithhis/herrespectiveuseridandpassword.Hencethis
portalprovidesaqualityloginwindowwhichprovidestheusermultiplewaystoenterintothe
site and they are: 14 | P a g e 1.Sign In with Facebook 2.Sign In
with Google Plus 3.Sign In with Email
Oncetheuserisloggedintotheportalforthefirsttime,theportalpromptstheusertoverify
his/her work email. Hence it is more secure and reliable than other
classified portals. Post Ad:
Oncetheuserissuccessfullyloggedin,he/shecanpostanadvertisementfortheavailabilityof
roomfor sharing among roommates or sublettingan entire room. The
user is also allowed to sell
his/hercar,furnituresandothersuchforsaleitemstogetfasterresponsefromthebuyerswho
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
emailbyallowingtheseekersorbuyerstocontactontheuserspersonalemail.Thechanceof
getting faster responses from verified users is very high in this
portal. 15 | P a g e 4. Development Life Cycle 16 | P a g e 4.
Development Life Cycle Project Development Approach Software Model
Tosolveactualproblemsinanindustry,softwaredeveloperorateamofdevelopersmust
incorporateadevelopmentstrategythatencompassestheprocess,methodsandtoolslayers
andgenericphases.Thisstrategyisoftenreferredtoas,processmodelorasoftware
developingparadigm.Aprocessmodelforsoftwaredevelopingischosenbasedonthenature
ofprojectandapplication,themethodsandtoolstobeused,andthecontrolsand
deliverablesthatarerequired.Allsoftwaredevelopmentcanbecharacterizedasaproblem
solvingloopinwhichfourdistinctstagesareencountered:Statusquo,Problemdefinition,
technicaldevelopmentandsolutionintegration.Regardlessoftheprocessmodelthatis
chosenforasoftware project all of the stages coexist
simultaneouslyat some level of detail.
TheSoftwareDevelopmentlifecycleacceptedforthedevelopmentof Cirtru
Classified Portal is Agile Methodology. Agile Methodology
TheAgilemethodologyisanapproachtoprojectmanagement,typicallyusedinsoftware
development.Ithelpsteamsrespondtotheunpredictabilityofbuildingsoftwarethrough
incremental,iterativesprints.Belowisadiagramshowingthevariouscomponentsoftheagile
method.
AgilemethodologiesrequireaProjectManagertoworkcloselywiththedevelopment
teamand customer; driving the pace of the project. As a result, the
Project Manager plays anintegral role in the success of the overall
project.
Agilemethodologyisacollectionofinnovative,user-centeredapproachestosystem
development.Ittriestodefineanoverallsystemplanquickly,developandreleasesoftware
quickly, and then continuously revise the software to add
additional features. After the downsides 17 | P a g e
ofthetraditionalsoftwaredevelopmentapproacheswereidentified(toomanydocumentations,
all requirements must be known at the beginning of a project) it
became obvious that we needed
anotherapproach.AndthatshowAgilewascreated.Agilesoftwaredevelopmentusesiterative
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.Examplescanincludegeneralfeatures,architecturediscussions,workflow
discussions and general product discovery.
2.DesignDocument&Prototype:Thisis the SOW (Scope of work),
which willhave all the requirements defined for the product. 18 | P
a g e
3.Iterations,Demo&Feedback:Duringthedevelopment,iterationsareneededtotestthe
code as well as get feedback from the customer on progress.
Feedback from the customer can include: mockups, front-end designs,
and usability.
4.Identifydefects&ResolveBugs:Bugsanddefectsarealwaysaconstantinthesoftware
developmentprocess.ItisimportantthattherearegoodQualityAssurancestandardsto
eliminate general issues.
5.Production&TechnicalSupport:Thesoftwareapplicationisfinallydeployedandlive.
Once this occurs, a support plan needs to be in place for
maintenance andgeneral 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
Itisveryeffectiveinenvironmentswherefrequentchangesintherequirementshappenquite
oftenduetovariousbusinessreasons.Sinceithasmoreiterationsandmorethanonebuilt
deployment for a project, it involvesmore 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. 19 | P a g e Fig 4.2: Agile Methodology Overview 4.1
Requirement Analysis:
TherequirementsfortheCirtruclassifiedsportalweregeneratedbytheFounderwhoona
regular basis builds and deploy various important applications of
the firm.
AsthemodelbeingusedinthisprojectdevelopmentisAgileMethodology,newrequirements
evolve over time.
Inthisproject,thetechnicalteamcannoteffectivelyproduceallrequirementsinhighenough
detailforimplementationtooccuratthebeginningofaproject.SinceAgileMethodologywas
used, this portal values a high visibility and customer
involvement.ThefrequentchangesmadetothisportalusingAgileapproachesgivescustomersachanceto
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. 20 | 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 whichcan easilysupport mapbasedfeature such as GoogleMAPS
and latest APIs. 8.Classified portal which can easily communicate
with mail server and support their APIs. 21 | P a g e 4.2 Design
Document & Prototype
IntheDesignphase,designoftheproduct/solutiontobedoneiscomeupwith.Herethe
developmentteamunderstandstherequirementsandcomesupwithateststrategy/planto
proceed with testing of the piece being developed.
Inthedesignphase,weanalyzeindividualrequirementsby modelstorming
onajust-in-time
(JIT)basisforafewminutesbeforespendingseveralhoursordaysimplementingthe
requirement. Guided by our architecture models, often hand-sketched
diagrams, we take a highly-collaborative, test-driven design (TDD)
approach to development where we iteratively write a test and then
write just enough production code to fulfill that test.
IntheAgileMethodology,overallsystemdesignwillemergeovertime,evolvingtofulfillnew
requirements and take advantage of new technologies as appropriate.
HenceDesign models need tobe
justbarelygoodenough.Youdontneedtomodeleverysingledetailinyourmodels,
the
modelsdontneedtobeperfect,andtheycertainlydontneedtobecomplete.AgileModel
allowsthedeveloperstodosomehigh-levelarchitecturalmodelingduringinitialIteration,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 22 | P a g e 4.2.1Use Case Diagram Use case diagrams
are used to describea set of actions (use cases) that some system
or systems
shouldorcanperformincollaborationwithoneormoreexternalusersoftheSystem(actors).
Eachusecaseshouldprovidesomeobservableandvaluableresulttotheactorsorother
stakeholders of the system. Use case diagrams are used to specify:
requiredusagesofa system -tocapturewhatasystemunderconstruction is
supposed to do. The functionality offered by a system. How the
environment shouldinteract with the system so that it willbe able
to perform its services. 4.2.1.1Diagram Building Blocks System:
Presentedbyarectanglewithsystemnameinuppercornerwithapplicableusecases
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:
Arelationshipinwhichoneusecase(extension)extendsthebehaviorofanother
use case (base). Shown as a dashedline anopen arrowhead directed
from the extending use case to the extended (base) use case. The
arrow is labeled with the keyword .
Include:Arelationshipinwhichoneusecase(base)includesthefunctionalityofanotheruse
case (inclusion). The arrow is labeled with the keyword . 23 | P a
g e 4.2.1.2Use Case Diagram for Cirtru Classified Fig 4.4: Use Case
Diagram Cirtru Classified 24 | P a g e
Fig 4.5: Use Case Diagram of Cirtru Classified 25 | P a g e
4.2.1.3Use Case Diagram for System Roles Fig 4.6: Use Case Diagram
for System Roles 26 | P a g e 4.2.2Sequence Diagram A sequence
diagramis a kind ofinteraction diagram that shows how processes
operate with one
anotherandinwhatorder.Itdepictstheobjectsandclassesinvolvedinthescenarioandthe
sequence of messages exchanged between the objects needed to carry
out the functionality of the
scenario.SequencediagramstypicallyareassociatedwithusecaserealizationsintheLogical
View of the system under development. 4.2.2.1Diagram Building
Blocks
Whendrawingasequencediagram,lifelinenotationelementsareplacedacrossthetopofthe
diagram. Lifelines represent either roles or object instances that
participate in the sequence being
modeled.Lifelinesaredrawnasaboxwithadashedlinedescendingfromthecenterofthe
bottomedge.Thelifeline'snameisplacedinsidethebox.Inordertodisplayinteraction,
messages are used. These are horizontal arrows with the message
name written above them. Solid
arrowswithfullheadsaresynchronouscalls,solidarrowswithstickheadsareasynchronous
calls and dashed arrows with stick heads are return
messages.Activationboxesormethod-callboxesareopaquerectanglesdrawnontopoflifelinesto
represent that processes are being performed in response to the
message. 27 | P a g e 4.2.2.2Sequence Diagram for System Login
through system Account Fig 4.7: Sequence Diagram for System Login
through system Account 28 | P a g e 4.2.2.3Sequence Diagram for
System Login through Facebook Account Fig 4.8: Sequence Diagram -
System Login through Facebook Account 29 | P a g e 4.2.2.4Sequence
Diagram for System Login through Google Account Fig 4.9: Sequence
Diagram - System Login through Google Account 30 | P a g e
4.2.2.5Sequence Diagram for System Signup & Account activation
Fig 4.10: Sequence Diagram - System Signup & Account activation
31 | P a g e 4.2.2.6Diagram for Posting Ad Fig 4.11: Sequence
Diagram - Posting Ad 32 | P a g e 4.2.3Activity Diagram
Activitydiagramsaregraphicalrepresentationsofworkflowsofstepwiseactivitiesandactions
withsupportforchoice,iterationandconcurrency.IntheUnifiedModelingLanguage,activity
diagramscanbeusedtodescribethebusinessandoperationalstepby-stepworkflowsof
components in a system. An activity diagram shows the overall flow
of control. 4.2.3.1Diagram Building Blocks
Activitydiagramsareconstructedfromalimitednumberofshapes,connectedwith
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) 33 | P a g
e 4.2.3.2Activity Diagram for Simple System Login Fig 4.12:
Activity Diagram System Login 34 | P a g e 4.2.3.3Activity Diagram
for System operation Fig 4.13: Activity Diagram System operation 35
| P a g e 4.2.3.4Activity Diagram of System operation for seller
Fig 4.14: Activity Diagram System operation for Seller 36 | P a g e
4.2.3.5Activity Diagram of System operation for Buyer Fig 4.15:
Activity Diagram System operation for Buyer 37 | P a g e
4.3Iterations, Demo & Feedback
Themainfocusinthisphaseisonbuildingtheprototypeiterativelyandgettingitreviewedby
the users (Development team) to ensure that the requirements are
met.
Theprototypeisimprovedthroughdemonstrationtotheuser,takingthefeedbackand
incorporatingthechanges.Thiscycleisrepeatedgenerallytwiceorthriceuntilapartof
functional model is agreed upon.
Theendproductofthisphaseisafunctionalmodelconsistingofanalysismodelandsome
software components containing the major functionality. Various
Phases of this stage are: Agree PlanCreate Functional
PrototypeReview PrototypeIdentify Functional Prototype Agreement on
Plan
Alltheanalysisdoneinthebusinessstudyphasemustbeagreedbytheuser.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
LifeCycledevelopmenteveryrequirementmayleadto
thedevelopmentofaparticular prototype which would then be tested
and implemented Review Prototype
Thisstepisabouttestingandreviewingprototype.Thischeckswhetherallthe
requirements are met or not. 38 | 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.4Identify Defects
& Resolve Bugs Bugs and defects are always a constant in the
software development process. It isimportant 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,
andboth the code fix and the test are checkedin. 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.
AmuchbetterprimaryuseforQATestersaretohelpdefinethefunctionalrequirementsand
workwithDeveloperstoensurethoserequirementsaredevelopedtocorrectlybeforeany
Acceptance Testingis done. If a problem such as a failed Test
Scenarioisfoundin theAgile QA Test state then the Developers and QA
work together to fix it immediately.
ThisisoneofthewaysagileprojectsgenerallycostlessthansimilarTraditionalprojects.
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.
IfasystemispurposefullydesignatedthatitmustgothroughanEnd-to-Endprocessbya
separateteam,thenanypost-developmenttestingthatiscoveredbyAcceptedUserStoriesthat
break are legitimate defects to be created, fixed and tracked. 39 |
P a g e 4.5Production 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.
ThegoaloftheProductionphaseistokeepsystemsusefulandproductiveafter
theyhavebeen deployedto
theusercommunity.Thisprocesswilldifferfromorganizationto
organizationand 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 ofa
systemhasbeen slatedfor 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.
Thisphasetypicallyhasoneiterationbecauseitappliestotheoperationallifetimeofasingle
releaseofyoursoftware.Theremaybemultipleiterations,however,ifyoudefinedmultiple
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
inparalleltodevelopmentefforts.Infact,youmayhavemultiplereleasesinproductionatthe
same time. For example, the operations and support for both
versions 1.0 and 1.1 continues for a
shortperiodafterversion1.1isreleased.Itisnotuntilversion2.0isreleasedthatsupportfor
version 1.0 is discontinued. 40 | P a g e
5. System Requirement Study 41 | P a g e 5. System Requirement
Study Software Requirement Specification 5.1Introduction
Asoftwarerequirementsspecification(SRS)isacomprehensivedescriptionoftheintended
purposeandenvironmentforsoftwareunderdevelopment.TheSRSfullydescribeswhatthe
software will do and howit willbe expected to perform. An
SRSminimizes the time and effort required by developers to achieve
desired goals and also minimizes the development cost. A good
SRSdefineshowanapplicationwillinteractwithsystemhardware,otherprogramsandhuman
usersinawidevarietyofreal-worldsituations.Parameterssuchasoperatingspeed,response
time,availability,portability,maintainability,footprint,securityandspeedofrecoveryfrom
adverse events are evaluated. Methods of defining an SRS are
described by the IEEE (Institute of Electrical and Electronics
Engineers) specification 830-1998. 5.2Requirement Specification
5.2.1Hardware Requirement PentiumIV 80 GB Hard Disk 512 MB RAM
5.2.2Software Requirement Technology Requirement oNode.JS oMongo DB
oAngular JS oHTML5 and CSS3 oBootstrap3 oJavaScript 42 | P a g e
DevelopmentTools oGIT oWebStorm IDE Web Browser : oInternet
Explorer 8 and higher versions oGoogle Chrome oSafari oOpera Mini
oMozillaFirefox Node.js
Node.jsisaserversideplatformbuiltonGoogleChrome'sJavaScriptEngine(V8Engine).
Node.js was developed by Ryan Dahlin 2009 anditslatest versionis
v0.10.36.Node.jsis an
opensource,cross-platformRuntimeEnvironmentforserver-sideandnetworking
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.jsalsoprovidesarichlibraryofvariousJavaScriptmoduleswhicheasesthe
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
AllAPIsofNode.jslibraryareasynchronousthatisnon-blocking.ItmeansaNode.js
based server never waits for a API to return data. Server moves to
next API after calling it and anotificationmechanism of Events of
Node.js helps server to get responsefrom the previous API call.
2.Very Fast 43 | P a g e
BeingbuiltonGoogleChrome'sV8JavaScriptEngine,Node.jslibraryisveryfastin
code execution. 3.Single Threaded but highly Scalable
Node.jsusesasinglethreadedmodelwitheventlooping.Eventmechanismhelpsserver
torespondinanon-blockingwaysandmakesserverhighlyscalableasopposedto
traditional servers which create limited threads to handle
requests. 4.No Buffering
Node.jsapplicationsneverbufferanydata.Theseapplicationssimplyoutput
thedatain 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
MongoDBisdocumentdatabaseinwhichonecollectionholdsdifferentdocuments.
Numberoffields,contentandsizeofthedocumentcanbedifferingfromonedocument
to another. 2.Single Object Concept Structure of a single object is
clear and simple. 3.No complex Joins 4.Deep Query ability
MongoDBsupportsdynamicqueriesondocumentsusingadocument-basedquery
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. 44 |
P a g e Angular JS AngularJS is an open source web application
framework. It was originally developed in 2009
byMiskoHeveryandAdamAbrons.ItisnowmaintainedbyGoogle.Itslatestversionis
1.3.14.AngularJSisapowerfulJavaScriptbaseddevelopmentframeworktocreateRICH
InternetApplication(RIA).AngularJSprovidesdevelopersoptionstowriteclientside
application (using JavaScript) in a clean MVC (Model View
Controller) way. Features of AngularJS 1.Data Binding
Databindingimprovesdatareusability.Databindingisautomaticsynchronizationof
data between model and view components. 2.Templates
Thesearetherenderedviewwithinformationfromthecontrollerandmodel.Thesecan
be a single file (like index.html) or multiple views in one page
using "partials".3.MVC
AngularJSincorporatesthebasicprinciplesbehindtheoriginalMVCsoftwaredesign
patternintohowitbuildsclient-sidewebapplications.AngularJSdoesnotimplement
MVC in the traditional sense, but rather something closer to MVVM
(Model-View-View Model). 4.Dependency Injection
AngularJShasabuilt-independencyinjectionsubsystemthathelpsthedeveloperby
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 45 | P a g e
DirectivescanbeusedtocreatecustomHTMLtagsthatserveasnew,customwidgets.
Theycanalsobeusedto"decorate"elementswithbehaviorandmanipulateDOM
attributes in interesting ways. 6.Services
AngularJScomewithseveralbuilt-inservicesforexample$httptomakea
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
TheHTML5languagehasa"custom"HTMLsyntaxthatiscompatiblewithHTML4and
XHTML1documentspublishedontheWeb,butisnotcompatiblewiththemoreesoteric
SGML features of HTML 4. HTML 5 does not have the same syntax rules
as XHTML where we neededlower case tag names, quoting our
attributes; an attribute had to have a valueand to close all empty
elements. New elements are introduced into HTML5, which helps for
better
structure.RichsetofApplicationProgrammingInterfacesareavailablesuchasHTML
Geolocation,HTMLDragandDrop,HTMLLocalStorage,HTMLCachewhichhelps
development of web application a lot easier. CSS3
CSS3isthelateststandardforCSS.CSS3iscompletelybackwards-compatiblewithearlier
versionsofCSS.Itcontainsthe"oldCSSspecification"(whichhasbeensplitintosmaller
pieces). In addition, new modules are added. Some of the most
important CSS3 modules are: Selectors Box Model Backgrounds and
Borders 46 | P a g e Text Effects 2D/3D Transformations Animations
BOOTSTRAP3
Bootstrapisasleek,intuitive,andpowerful,mobilefirstfront-endframeworkforfasterand
easier web development. It uses HTML, CSS andJavaScript. Bootstrap
easily and efficiently
scalesyourwebsitesandapplicationswithasinglecodebase,fromphonestotabletsto
desktops with CSSmedia queries. It was released as an open source
product inAugust 2011 on GitHub. JavaScript
JavaScriptisadynamiccomputerprogramminglanguage.Itislightweightandmost
commonlyusedasapartofwebpages,whoseimplementationsallowclient-sidescriptto
interactwiththeuserandmakedynamicpages.Itisaninterpretedprogramminglanguage
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. 47 | P a g e 6. Testing 48 | P a g e 6. Testing 6.1Unit
Testing
Thisisthefirstandthemostimportantleveloftesting.Assoonastheprogrammer
developsaunitofcodetheunitistestedforvariousscenarios.Astheapplicationisbuiltitis
muchmore 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.
HenceUnitTestingisthemostimportantofallthetestinglevels.As the
software project progresses ahead it becomes more and more costly
to find and fix the bugs.
Thetestinginvolvedafullreviewofthecodingandcheckingiffurtherenhancementscanbemadetothealreadysuccessfulmodule,theunittestingiscarriedoutduring
development stage of the project and it rightly
justifies.InUnittesting,whiletestingwefocusedonverifyingsmallportionsoffunctionalityofCirtru
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.
Animportantsubsetofunittestingthatisoftenoverlookedisrangechecking.Thatis,making
sureallthefieldsthatcollectinformationfromtheuser,cangracefullyhandleanyvaluethatis
entered.Mostpeoplethinkofrangecheckingasmakingsurethatanumericfieldonlyaccepts
numbers.
Oncetheunittestingiscompletedforalltheallowedmodulesorformsthemajoreventof
integration testing takes place. Unit testing is done by
developers. 49 | P a g e 6.2Functionality Testing
Inthistesting,weperformedtestingforallthelinksinwebpagesforsubmittingorgetting
information from user, cookie testing. 6.2.1Checking 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.2Testing 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.3Cookies Testing Cookies are smallfiles 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.4Database Testing
Dataconsistencyisveryimportantinwebapplication.Checkingfordataintegrityanderrors
whileuseredit,delete,modifytheformsordoanyDBrelatedfunctionality.Testing
if the entire database queries are executing correctly, data is
retrieved correctly and als qo updated correctly is being
performed.6.2.5HTML/CSS Validation HTML/CSS validation
playsveryimportant rolefor search engines, hence playsimportant
role. In this web site is validate for HTML syntax errors. 50 | P a
g e 6.3Usability Testing 6.3.1Testing for navigation:
Usercannavigatefromonepagetoanotherthroughdifferentcontrolslikebuttons,boxesor
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.2Content
Checking
Contentshouldbelogicalandeasytounderstand.Checkforspellingerrors.Use
ofdarkcolors
annoysusersandshouldnotbeusedinsitetheme.Therearesomestandardsthatareusedto
followforwebpageandcontentbuilding.Thesearecommonacceptedstandardslikeas
mentioned above about annoying colors, fonts, frames etc. Content
should be meaningful. All the
anchortextlinksshouldbeworkingproperly.Imagesshouldbeplacedproperlywithproper
sizes.6.3.3Other 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.4Interface
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.
Errorsarehandledproperly.Ifdatabaseorwebserverreturnsanyerrormessageforany
querybyapplicationserverthenapplicationservershouldcatchanddisplaytheseerror
messages appropriately to users. 51 | P a g e 6.5Compatibility
Testing Browser Compatibility:
Differentbrowsershavedifferentconfigurationsandsettingsthatyourwebpageshould
becompatiblewith.Yourwebsitecodingshouldbecrossbrowserplatformcompatible.
IncaseofusingjavascriptsorAJAXcallsforUIfunctionality,performingsecurity
checks or validations then givemore stress on browser compatibility
testing ofyour web
application.TestwebapplicationondifferentbrowserslikeInternetexplorer,Firefox,
Netscape navigator, AOL, Safari, Opera browsers with different
versions. Operating System Compatibility
Somefunctionalityinyourwebapplicationismaynotbecompatiblewithalloperating
systems.Allnewtechnologiesusedinwebdevelopmentlikegraphicsdesigns,interface
callslikedifferentAPIsmaynotbeavailableinallOperatingSystems.Itistestingof
webapplicationondifferentoperatingsystemslikeWindows,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.6Performance Testing Web application
should sustain to heavy load. Web performance testing should
include: Web Load Testing
WebLoadTestingconsistsoftestingapplicationperformanceondifferentinternet
connection speed. Inwebload testing, test ifmany users are
accessing or requesting the same page. Can system sustain in peak
load
times?Siteshouldhandlemanysimultaneoususerrequests,largeinputdatafromusers,
Simultaneous connection to DB, heavy load on specific pages etc. 52
| P a g e Web Stress Testing
Webstresstestingisperformedtobreakthesitebygivingstressandcheckedhow
systemreacts
tostressandhowsystemrecoversfromcrashes.Stressisgenerallygiven
oninputfields,loginandsignupareas.Inwebperformancetestingwebsite
functionality on different operating systems anddifferent hardware
platformsis checked for software, hardware memory leakage errors.
6.7Security Testing Following are some test cases considered for
web security testing: 1.Test by pasting internalURL directly into
browser address bar without login. Internal pages should not open.
2. Ifyou areloggedin using username and password
andbrowsinginternal pages then
trychangingURLoptionsdirectly.I.e.Ifyouarecheckingsomepublishersite
statisticswithpublishersiteID=123.TrydirectlychangingtheURLsiteID
parametertodifferentsiteIDwhichisnotrelatedtologgedinuser.Accessshould
deny for this user to view others stats.
3.Trysomeinvalidinputsininputfieldslikeloginusername,password,andinput
text boxes. Check the system reaction on all invalid inputs. 4.
Webdirectoriesorfilesshouldnotbeaccessibledirectlyunlessgivendownload
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.Alltransactions,errormessages,securitybreachattemptsshouldgetloggedinlog
files somewhere on web server. 53 | P a g e 7. User Manuals 54 | P
a g e Cirtru Home Page 55 | P a g e 56 | P a g e 57 | P a g e 58 |
P a g e User Sign Up page 59 | P a g e User Sign in Page 60 | P a g
e User Home Page 61 | P a g e User Setting Page 62 | P a g e 63 | P
a g e 64 | P a g e Roommates Listing Page 65 | P a g e 66 | P a g e
67 | P a g e Post Roommate Ad Page 68 | P a g e
69 | P a g e 70 | P a g e 71 | P a g e FAQ Page 72 | P a g e
About Us Page Contact Us Page 73 | P a g e Circles of Trust page
Sitemap Page 74 | P a g e Cirtru Home Page in Mobile View 75 | P a
g e Cirtru Sign In Page in Mobile View
76 | P a g e Cirtru Roommates Listing and View Page
77 | P a g e Cirtru Sublets Listing and View Page
78 | P a g e Cirtru CarsListing and View Page 79 | P a g e
Cirtru Forsale Listing and View Page
80 | P a g e 8. Key Learnings 81 | P a g e 8. Key Learnings
TheinternshipperiodinCirtru classified Pvt
Ltdprovidedmeagreatopportunitytolearn 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 ofusing 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.
AlongwiththetechnicallearningIalsohadanopportunitytounderstandmany
marketing terms. I also got a chance to improve my skills to
interact with users.
Ialsogotmotivatedtohaveastrongtestingofwebsystemandtobuildallpossibletestcases.
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. 82 | P a g e 9. Bibliography 83 | P a g e
Books: Learning JavaScript Design PatternsBuilding 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