Online Shopping Portal Documentation
Online Shopping Portal Documentation
Online Shopping Portal Documentation
SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIRMENT FOR THE AWARD OF MASTER OF COMPUTER APPLICATION DEGREE
INTERNAL GUIDE
EXTERNAL GUIDE
GURU GOBIND SINGH INDRAPRASTHA UNIVERSITY DELHI DEPARTMENT OF COMPUTER SCIENCE APPLICATION BHAI PARMANAND INSTITUTE OF BUSINESS STUDIES BATCH 2010-2013
HobbySea.com
Page 1
SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIRMENT FOR THE AWARD OF MASTER OF COMPUTER APPLICATION DEGREE
INTERNAL GUIDE
EXTERNAL GUIDE
GURU GOBIND SINGH INDRAPRASTHA UNIVERSITY DELHI DEPARTMENT OF COMPUTER SCIENCE APPLICATION BHAI PARMANAND INSTITUTE OF BUSINESS STUDIES BATCH 2010-2013
HobbySea.com
Page 2
Certificate by Company/ External Guide ( format will be issued by the company on letter head of the company)
HobbySea.com
Page 3
CERTIFICATE
This is to certify that this industrial training project report JOB PORTAL is submitted as a work of Manoj Giri who is undergoing the 6th Semester (MCA) Industrial training at __________________ He has been giving regular update of training work throughout the semester and has prepared the training report under assigned guides guidance.
Date:
Dr. Girish Kumar Sharma Head of Department (MCA) Bhai Parmanand Institute of Business Studies
HobbySea.com
Page 4
CERTIFICATE
This is to certify that the dissertation/project report (MCA 302) entitled JOB PORTAL done by Manoj Giri Roll No. 06011404410 is an authentic work carried out by him at ______________ under my guidance. The matter embodied in this Project work has not been submitted earlier for the award of any degree or diploma to the best of my knowledge and belief.
Date:
HobbySea.com
Page 5
ACKNOWLEDGEMENT
The accomplishment of this project would have not been possible individually without the encouragement, assistance and valuable support from various sources. It is my proud privilege to express my profound gratitude to the entire management of Bhai Parmanand institute of Business Studies and teachers of the institute for providing me with this opportunity to avail the excellent infrastructure. The knowledge and values gained have provided to be of immense help at the very start of my career. Special thanks to Honrable Principal, Mrs. Amita Dev for having provided us an excellent infrastructure at BPIBS. No creative work is possible in isolation. I need guidance, motivation at every step of my progress. I would like to add a few heartfelt words for the people who were the part of this project in numerous ways. I am grateful to Mr. Girish Sharma (project guide) for his guidance, constant encouragement and sincere support for this project work. I extend my heartfelt thanks to for giving me an opportunity to work in such good professional environment and have a good experience. I would like to extend my profound thanks to for providing all the support in the lifetime of the project and their valuable motivation and time to time discussions which kept a constant vigil on the progress of the project.
MANOJ GIRI
HobbySea.com
Page 6
TABLE OF CONTENTS
Introduction ...8 Profile of the Problem Objectives of the project System Analysis....17 Modules of project Administrator Feasibility Analysis Methodology Software Requirements Specification DFD Use Case Diagram Flow chart System Design..33 Design approach Sequence Diagram State chart Diagram Activity Diagram Database Tables Conclusion and Snapshots ...45 Testing.....................................57 8.1 Test Plan Bibliography..74 Appendix [code]
HobbySea.com
Page 7
CHAPTER 1 INTRODUCTION
HobbySea.com
Page 8
HobbySea.com provides sales and service to customer by interaction with customer. The success of a company is mainly based on its satisfied customers, which in turn gives profits. Retaining existing customers is also an important job of a company. HobbySea.com concentrates on the retention of customers by collecting all data from every interaction, every customer makes with a company from 'all' access points whether they are phone, mail, web or field. The company can them use this data for specific business purposes viz., marketing, service, support or sales HobbySea.com is basically the collection and distribution of "all" data to "all" areas of business. The data can then help market the company, help up sell to existing customer, understand customers better so that customers can be given better service and allows them to interact with the company by whatever means they wish.
HobbySea.com
Page 9
What contribution would the Project Make? The project would help in effective and systematic sales and purchase of products. This Project will also be able to give the reports concerning user patterns so that it could be used in future to track potential customers.
Scope of the study The main Scope of study: It should contain all the information of products and their description. It should contain all the information related to supplementary and complementary products related to particular product. It should process and evaluate payments done by the customer. It should contain information related all the functionalities of a particular product. It should maintain proper payment records. It should have Administrator for scheduling administrative work of site.
HobbySea.com
Page 10
Objectives of the project It will enable vendors to setup online shops, customer to browse through the shop and purchase them online without having to visit the shop physically.
The administration module will enable a system administrator to approve and reject requests for new shops and maintain various lists of shop category.
The main objective of the project is to establish a network among the people residing in all over the world by which all the information related to products and any new updates can be easily accessed and shared among the people.
This system provides admin module to manage different domains details, consumers to maintain their online shopping and customers/visitors/guest to check out the details of different products.
Requirements / Functionalities of Online Shopping cartel Products can only be added through Administrator.
A customer could navigate between various products and could also look for their detailed description.
HobbySea.com
Page 11
The administrator should be able to track the customer by his contact information.
The administrator should authenticate the customer before the delivery of the product.
Web Based Solutions: Since the whole setup in on-line therefore web based solutions could be integrated as soon as some technological advancement hit the market.
Highly Modular Solutions: Each product is categorized into specialization means; it is segregated according to its category.
Easy to Enhance: As complete system is divided into different module therefore enhancement of single module or complete system can be easily done in future.
Timely delivery and customer support: Accurate, up to date and timely available information leads to on time delivery.
HobbySea.com
Page 12
Advantage(s) There has long been a need for the consumer to purchase goods without ever having to leave their home. The industry started with mail order catalogs.
The catalog offered everything from clothing to toys, and even farming equipment that made it easier for early families to purchase goods without having to travel to a city possibly hundreds of miles away. Ever since the invention of the personal computer and the World Wide Web, consumers have become more and more eager to shop online. online can give a great advantage to many people. Shopping
You can search for exactly what youre looking for quicker. There are many online stores who specialize in a certain type of sofa or style that you may be looking for and a quick Google search will bring you to that site. If you love knowing the newest styles, or having unique pieces then online shopping makes it easier to do so.
Instead of driving around wasting gas or spending hours on the bus in travel time you can visit all the stores that youre interested in at once. This eliminates time going from store to store to see what is available and at what price.
Easier to find discounts on the sofa youre looking for by Googling, going on EBay, Amazon and many other websites out there offering deals. Online stores usually offer online specials as well and there are multiple websites dedicated to sharing these deals with you.
HobbySea.com
Page 13
Language (Server Side) Front End (Client Side) Database IDE Operating System Method of Development Controller)
: : : : : :
PHP Html, CSS, Ajax MySQL WAMP Windows 7 MVC (Model View
HobbySea.com
Page 14
HobbySea.com
Page 15
Proposed System
The development of this shopping cartel contains the following activities, which try to automate the entire process keeping in the view of database integration approach. This Site can provide the products information along with the product category. This website can provide product search facility for the customer. Administrator can control both products and as well as customer information. Administrator could manage the entire site.
Number of Modules The Job Portal after careful analysis has been identified to be presented with the following modules: Administrator Customer
Administrator
Administrator is the major controlling authority of the shopping portal. He controls and monitors the entire shopping portal. Admin first logins with his valid username and password and after that he can access the database and control the features of the shopping portal. He can add, edit and delete homepage, contact us and about us. He could add or delete products and manage database.
HobbySea.com Page 16
FEATURES OF ADMINISTRATOR
Login Administrator has to enter his username and password to login. If the username and password is valid then the administrator is directed to his home page from where he can control all the features of shopping portal.
Change Password Administrator can change his password from his account with full authentication.
Manage Home Page Administrator can easily manage home page from his account.
Manage shopping portal Information Administrator can easily manage Contact Us and About Us from his account.
Addition/deletion of products Administrator is responsible for adding or deleting products and their information.
Job Portal Reports Administrator can access the reports related to shopping portal such as number of hits on shopping Portal, number of total products and product details.
HobbySea.com
Page 17
FEASIBILITY REPORT
Preliminary investigation examine project feasibility, the likelihood the system will be useful to the organization. The main objective of the feasibility study is to test the Technical, Operational and Economical feasibility for adding new modules and debugging old running system. All system is feasible if they are unlimited resources and infinite time. There are aspects in the feasibility study portion of the preliminary investigation: Technical Feasibility Operation Feasibility Economic Feasibility
Technical Feasibility The technical issue usually raised during the feasibility stage of the investigation includes the following: Does the necessary technology exist to do what is suggested? Do the proposed equipments have the technical capacity to hold the data required to use the new system? Will the proposed system provide adequate response to inquiries, regardless of the number or location of users? Can the system be upgraded if developed? Are there technical guarantees of accuracy, reliability, ease of access and data security?
Earlier no system existed to cater to the needs of Secure Infrastructure Implementation System. The current system developed is technically feasible. It is a web based user interface for audit workflow at NIC-CSD. Thus it provides an easy access to the users. The databases purpose is to create,
HobbySea.com Page 18
establish and maintain a workflow among various entities in order to facilitate all concerned users in their various capacities or roles. Permission to the users would be granted based on the roles specified. Therefore, it provides the technical guarantee of accuracy, reliability and security. The software and hard requirements for the development of this project are not many and are already available in-house at NIC or are available as free as open source. The work for the project is done with the current equipment and existing software technology. Necessary bandwidth exists for providing a fast feedback to the users irrespective of the number of users using the system.
Operational Feasibility Proposed projects are beneficial only if they can be turned out into information system. That will meet the organizations operating requirements. Operational feasibility aspects of the project are to be taken as an important part of the project implementation. Some of the important issues raised are to test the operational feasibility of a project includes the following: Is there sufficient support for the management from the users? Will the system be used and work properly if it is being developed and implemented? Will there be any resistance from the user that will undermine the possible application benefits? This system is targeted to be in accordance with the above-mentioned issues. Beforehand, the management issues and user requirements have been taken into consideration. So there is no question of resistance from the users that can undermine the possible application benefits. The well-planned design would ensure the optimal utilization of the computer resources and would help in the improvement of performance status.
HobbySea.com
Page 19
Economic Feasibility A system can be developed technically and that will be used if installed must still be a good investment for the organization. In the economic feasibility, the development cost in creating the system is evaluated against the ultimate benefit derived from the new systems. Financial benefits must equal or exceed the costs. The system is economically feasible. It does not require any addition hardware or software. Since the interface for this system is developed using the existing resources and technologies available at NIC, There is nominal expenditure and economic feasibility for certain.
HobbySea.com
Page 20
requirements for the system, or a portion of the system. Requirements described in this document are derived from the Vision Document prepared for the Online Job Portal System.
HobbySea.com
Page 21
1.2 Scope The Software Requirements Specification captures all the requirements in a single document. The Online job Portal System that is to be developed provides the members with jobs information, online applying for jobs and many other facilities. The Online Job Portal System is supposed to have the following features. Main Page Search jobs, browse jobs by country, by category or by agency. Latest jobs listed on the front page. Job Seeker's Area Jobs seekers can sign-up and submit their resume or manage their Job Alerts. Job seekers can account. Employers Area Employers can sign-up and browse job seeker's resumes, manage their advertisements (job postings) or manage their Resume Alerts. Additionally, job seekers can submit their profile and manage other things associated with their account. Administration Panel The job portal is highly configurable and there are many possibilities for running the job portal. The features that are described in this document are used in the future phases of the software development cycle. The features described here meet the needs of all the users. The success criteria for the system are based in the level up to which the features described in this document are implemented in the system. manage other things associated with their
HobbySea.com
Page 22
1.3 Overview The SRS will provide a detailed description of the Online Job Portal System. This document will provide the outline of the requirements, overview of the characteristics and constraints of the system. 2 User characteristics The users of the system are members and the admin who maintain the system. The members are assumed to have basic knowledge of the computers and Internet browsing. The admin of the system to have more knowledge of the internals of the system and is able to rectify the small problems that may arise due to disk crashes, power failures and other catastrophes to maintain the system. The proper user interface, users manual, online help and the guide to install and maintain the system must be sufficient to educate the users on how to use the system without any problems.
3 Constraints
The information of all the users must be stored in a database that is accessible by the Job Portal. The Job Portal is connected to the computer and is running all 24 hours a day. The users access the Job Portal from any computer that has Internet browsing capabilities and an Internet connection. The users must have their correct usernames and passwords to enter into the Job Portal.
HobbySea.com
Page 23
The users have sufficient knowledge of computers. The Computer should have Internet connection and Internet server capabilities. The users know the English language, as the user interface will be provided in English The product can access the members database.
5.1 Functionalities for Administrator Login Administrator has to enter his username and password to login. If the username and password is valid then the administrator is directed to his home page from where he can control all the features of Job Portal.
Change Password Administrator can change his password from his account with full authentication.
Manage Home Page Ads Administrator can easily manage home page ads from his account. And these ads are displayed dynamically on the home page of the Job Portal.
Manage Tip of the Day Administrator can easily manage tip of the day from his account and after this tip of the day is displayed on the home page.
Manage Job Portal Information Administrator can easily manage Contact Us and About Us from his account under the Mange Job Portal information section.
HobbySea.com Page 24
Job Portal Reports Administrator can access the reports related to Job Portal such as number of hits on Job Portal, number of total employer, jobseeker and jobs.
Manage Database Administrator can manage database for example administrator can add new industry type from his account without manually changing database.
6 Usability The system shall allow the users to access the system from the Internet using HTML or its derivative technologies. The system uses a web browser as an interface. Since all users are familiar with the general usage of browsers, no specific training is required. The system is user friendly and self-explanatory.
7 Reliability The system has to be very reliable due to the importance of data and the damages incorrect or incomplete data can do. To achieve this following steps are taken Client side validation Server-side validation User password is md5 encrypted
HobbySea.com Page 25
8 Software Requirements Operating System User Interface Programming Language Web Server Database : : : : : Windows-7/2003 HTML PHP 5.5 Apache MySQL
9 Hardware Requirements:
: : :
HobbySea.com
Page 26
10 Technologies Used:
PHP:
PHP code is interpreted by a web server with a PHP processor module which generates the resulting web page: PHP commands can be embedded directly into an HTML source document rather than calling an external file to process data. It has also evolved to include a command-line interface capability and can be used in standalone graphical applications. Whenever request comes for a static html or htm page the web server returns the page to the client. Here script processing or execution is not done. Such pages don't have dynamic capability and content is fixed. In Windows server the web server is IIS and for Linux systems Apache web servers are generally used. However PHP and Apache run well in Windows platform also. This site is supporting PHP on a Linux platform. In the same way the server can run other scripts like ASP, Perl etc. In case of PHP pages the server does not return the page directly to the client. The web server runs the PHP engine and the output of the executed script is posted back to the client machine. Depending on the various input conditions the page content can be changed. PHP can easily connect to MySQL database and this combination is very popular in the internet. As per the client side browser it does not understand PHP or any other language. It can understand HTML, JavaScript, and CSS etc. BENEFITS OF PHP PHP is one of the most popular server side scripting languages running today. It is used for creating dynamic web-pages that interact with the user offering customized information. PHP offers many benefits; it is fast, stable, secure, easy to use and open source (free). Speed PHP is considered to be the fastest, as stated previously, when compared with other programming languages.
HobbySea.com Page 27
Normally when try to connect a database and fetch certain data, it usually takes time to connect the database, execute the statement, and get the data across. When these operations are performed by PHP it is really faster when compared with other types of scripting languages. Not only for the speed when connecting the database but also while using over other important applications. Because of its high performance of speed, PHP is being used for some of the Important administrations like the server administration over the web, mail Functionalities. Open Source PHP is open source; open source is one where the user is given a free license to Remodel or recode PHP, according to their wish. Source code is shipped with PHP. Multi-Platform PHP supports various platforms, which mean PHP can be installed on almost every operating system, like the window-x, Linux, etc. Easy Syntax PHP syntax is quite easy to code, all the syntax are similar to the C language syntax. PHP is free software released under the PHP License, which is incompatible with the GNU General Public License (GPL) due to restrictions on the usage of the term PHP. PHP can be deployed on most web servers and also as a standalone shell on almost every operating system and platform, free of charge.
HobbySea.com
Page 28
MySQL: MySQL (My S-Q-L, officially, but also called My Sequel") is the world's most widely used open source relational database management system (RDBMS) that runs as a server providing multi-user access to a number of databases MySQL is a popular choice of database for use in web applications, and is a central component of the widely used LAMP open source web application software stack (and other 'AM' stacks). LAMP is an acronym for "Linux, Apache, MySQL, and Perl/PHP/Python." Free-software-open source projects that require a full-featured database management system often use MySQL. MySQL can be used for a variety of applications, but is most commonly found on Web servers. A website that uses MySQL may include Web pages that access information from a database. These pages are often referred to as "dynamic," meaning the content of each page is generated from a database as the page loads.
Websites that use dynamic Web pages are often referred to as database-driven Websites. Many database-driven websites that use MySQL also use a Web scripting language like PHP to access information from the database. MySQL commands can be incorporated into the PHP code, allowing part or all of a Web page to be generated from database information. Because both MySQL and PHP are both open source (meaning they are free to download and use), the PHP/MySQL combination has become a popular choice for database-driven websites.
HobbySea.com
Page 29
Features of MySQL The following list shows the most important properties of MySQL. Relational Database System: Like almost all other database systems on the market, MySQL is a relational database system. Client/Server Architecture MySQL is a client/server system. There is a database server (MySQL) and arbitrarily many clients (application programs), which communicate with the server; that is, they query data, save changes, etc. The clients can run on the same computer as the server or on another computer (communication via a local network or the Internet). SQL compatibility MySQL supports as its database language -- as its name Suggests SQL (Structured Query Language). SQL is a standardized language for querying and updating data and for the administration of a database. There are several SQL dialects (about as many as there are database systems). MySQL adheres to the current SQL standard (at the moment SQL: 2003), although with significant restrictions and a large number of extensions. Programming languages: There are quite a number of APIs (application Programming interfaces) and libraries for the development of MySQL applications. For client programming you can use, among others, the languages C, C++, Java, Perl, PHP, and Python. ODBC MySQL supports the ODBC interface Connector/ODBC. This allows MySQL to be addressed by all the usual programming languages that run under Microsoft Windows (Delphi, Visual Basic, etc.). The ODBC interface can also be implemented under UNIX, though that is seldom necessary.
HobbySea.com
Page 30
Platform independence It is not only client applications that run under a variety of operating systems; MySQL itself (that is, the server) can be executed under a number of operating systems. The most important are Apple Macintosh OS X, Linux, Microsoft Windows, and the countless UNIX variants, such as AIX, BSDI, FreeBSD, HP-UX, OpenBSD, Net BSD, SGI Iris, and Sun Solaris. Speed MySQL is considered a very fast database program. Relational Database Management System (RDBMS) An RDBMS is a database management system where all data visible to the user is organized strictly as tables of data values. All database operations work on these tables. RDBMS has 3 main features, which are as follows: Data is stored in a number of tables. These tables may or may not have any Relationships, normally each table in a database have some relationship with One or more tables. These relationships greatly help in effective organization of data in a system. Integrity rules on table make data consistent and secure. Relational Operators are used for manipulating data. WAMP: WAMPs are packages of independently created programs installed on computers that use a Microsoft windows operating system. WAMP (computing) is an acronym formed from the initials of the operating system Microsoft Windows and the principal components of the package Apache, MySQL and one of PHP, Perl or python Apache is a web server. MySQL is an open-source database. PHP, Perl and Python are scripting languages that can manipulate information held in a database and generate web pages dynamically each time content is requested by a browser. Other
HobbySea.com
Page 31
programs may also be included in a package, such as phpMyAdmin which provides a graphical user interface for the MySQL database manager. HTML: Hypertext Markup Language (HTML) is a language for describing how pages of text, graphics, and other Information are organized, formatted, and linked together. It is not really a programming language in the sense of COBOL or Visual Basic, but it does provide powerful capabilities for text formatting and output display. The original purpose of HTML was primarily as a tool for making text documents readily available on the Internet. Basic graphic support was added, and the things started to take off. Now we have sound, live video, retail catalogs, and much, much more available to us. HTML pages are the standard interface to the Internet. This basic language provides the necessary nuts and bolts for building Web pages.
HTML stands for Hyper Text Markup Language and was developed specifically for use on the system of links, which can be non-sequential in order. HTML is not a programming language. It is a marking up language used for linking one piece of information to another. Using a markup language means that tags can be added to the words in the document and web enable them. A tag is a set of descriptive formatting codes used in HTML document that instructs a web browser how to display text and graphics on a web page.
HobbySea.com
Page 32
MVC:
Modelviewcontroller (MVC) is a software architecture pattern which separates the representation of information from the user's interaction with it. The model consists of application data, business rules, logic, and functions. A view can be any output representation of data, such as a chart or a diagram. Multiple views of the same data are possible, such as a bar chart for management and a tabular view for accountants. The Controller mediates input, converting it to commands for the model or view. The central ideas behind MVC are code reusability and separation of concerns.
HobbySea.com
Page 33
AJAX:
HobbySea.com
Page 34
ER Diagram
Products
Payment
Price
Administrator/ Seller
Edit File
General terms and conditions
Shipping details
Home page
Shopping page
HobbySea.com
Page 35
DFD
Zero level:
CUSTOMER
Order/Enquiry Order acceptance/cancellation Status
HobbySea.com
Details Add/update catalogue
Payment Options
ADMINISTRATOR
Customer order/billing Details
HobbySea.com
Page 36
ADMINISTRATOR
Add/Remove products
Manage products
HobbySea.com
Page 37
HobbySea.com
Page 38
HobbySea.com
Page 39
There are some objectives that are necessary for successful design and implementation of the system. The objectives are as follows:
The system should be interactive. The system should be user friendly. The system should support data integrity.
HobbySea.com Page 40
The system should provide editing facility for correcting and updating
available data.
The system should prompt for any error made by user at the time of data
entry.
HobbySea.com
Page 41
Request C
f Request/Reply for customer/ Administrator
CUSTOMER
Response
APPLICATION SERVER
DATABASE
Request
ADMINISTRATOR
Response
HobbySea.com
Page 42
Login details
Validate login
Unsuccessful
Invalid
Successful
Logged in
HobbySea.com
Page 43
Database Tables
admin_pages
Table comments: Admin page table
Null No No No No No No
Field details : Name name of the page for example about us , contact us Title title of the page Content1 and content2 contain content of the page
Admin_uploads
Table comments : Table to manage admin upload for example homepage ads
Default
Comments
NULL NULL
Field details : Filename name of the uploaded file Url URL linked to the file incase of ads type contain type of content
HobbySea.com
Page 44
company_details
Table comments: details of each company
Null No No Yes
Default
NULL
industry_type
smallint(6)
No
No No Yes No No No 1 NULL
Comments unique id for each company name of company name of website 4-itConsultant,5software_development, 6-networking,7finance,8databaseConsultant,9domainManagement comma seperated major functional area of company 0 is active, 1 is inactive creation time of company
CURRENT_ date and time of last TIMESTAM updation P city of company location country where company is located
Comments unique id for each employer foreign key to users users -> id table company_detai foreign key to ls -> id company_details contact number of employer 10-male,11-female
HobbySea.com
Page 45
inactive_users
Table comments: inactive_users
Null No No
varchar(40) No
Links to Comments unique id for each user users -> foreign key to users id table validation string to verify email
jobs_applied
Table comments: details of job applied
Null No No
Default
timesta No mp int(5) No
Comments foreign key to jobs_available jobs_avialable_t > id able foreign key to users -> id users table date and time of CURRENT_TIM applying job ESTAMP unique id of each job applied
Links to
HobbySea.com
Page 46
Null Links to Comments No unique id for each job No name of opening No required experience for the job employe employer_id int(5) No r_details foreign key to employer_details -> id date_of_job_posted Datetime No date on which job is posted date_of_last_applying Datetime No last applying date expected_salary int(11) No expected salary for the job status enum('0', '1') No 0 is active , 1 is inactive last_updated Timestamp Yes date and time of last updation job_description varchar(200) No brief decription of job job_location varchar(20) No location of the available job job_category varchar(20) No category of the job available keywords varchar(150) No meta data for this job etnry
Column id
Type int(5)
Null No
int(5)
No
varchar(30) No varchar(30) No
post_graduation_degree varchar(30) Yes PhD other_degree last_update varchar(30) Yes varchar(30) Yes timestamp Yes
Links to Comments unique id for edcational details for each jobseeker jobseeker _personal foreign key to _details - jobseeker_personal_details > id highest degree of jobseeker graduation degree of jobseeker post graduation degree of jobseeker PhD degree if any of jobseeker any other degree or certifcation of jobseeker date and time of last updation
HobbySea.com
Page 47
date_of_birth permanent_addre varchar(300) ss current_address varchar(300) current_city varchar(50) current_state varchar(50) country varchar(50) pincode int(10) contact_number last_update
Null No No No Yes No No No No No No No No No
Links to
Comments unique for each profile users -> id foreign key to users table first name of the jobseeker middle name of the jobseeker last name of the jobseeker 10 is male, 11 is female date of birth of the jobseeker permanent address of the jobseeker current address of jobseeker current city of user current state of jobseeker nationality of job seeker pincode of current_city current contact number of jobseeker date and time of last updation
Column
Comments unique id for professional id int(5) No details of each jobseeker foreign key to jobseeker_perso jobseeker_personal_details personal_id int(5) No nal_details -> id table experience of jobseeker in experience tinyint(4) No years keyskills varchar(150) No key skills of jobseeker current_industr name of current industry of varchar(40) No y jobseeker current working area of the functional_area varchar(50) No jobseeker date and time of last last_update Timestamp Yes updation
Type
Null Links to
HobbySea.com
Page 48
Type int(5)
Null Links to No jobseeker_p int(5) No ersonal_det ails -> id mediumblob No varchar(100) Yes Tinytext No
Comments unique id for each resume foreign key to jobseeker_personal_details resume of jobseeker header of the resume extension of resume like .doc or .pdf last update time and date of resume uploading
last_updated_on Timestamp No
master_table
Table comments: table used to search data throughout the database
Null No No No No
Default
Comments the unique id coloumn name of different tables value of the above coloumn 0 is active , 1 inactive
HobbySea.com
Page 49
Column
Comments unique id for each id int(5) No jobseeker and employer unique password for password varchar(50) No each user display name of the displayname varchar(50) No user unique email id of email varchar(150) No each userid 1-admin,2-jobseeker,3usertype smallint(6) No 2 employer creation_date datetime No creation time of user last_login_tim CURRENT_TIMESTA last login date and timestamp Yes e MP time status enum('0', '1') No 1 0 is active, 1 is inactive
Type
Null Default
HobbySea.com
Page 50
HobbySea.com
Page 51
SCREEN SHOTS
HobbySea.com
Page 52
Contact us information.
HobbySea.com
Page 53
HobbySea.com
Page 54
HobbySea.com
Page 55
Conclusion
Administrator module plays a vital role in shopping portal as it is responsible for administration and maintenance of whole shopping portal. Admin can add/delete product and its detail. Admin could also manage site information like about us and contact us from its account there is no need to programmatically change content of shopping portal.
HobbySea.com
Page 56
CHAPTER 5 TESTING
HobbySea.com
Page 57
TESTING PLAN:
The review of OO analysis and design models is especially useful because the same semantic constructs appear at the analysis, design and code levels. Therefore, a problem in the definition of class attributes that is uncovered during analysis will circumvent side effects that might occur if the problem were not discovered until design or code. If the error remains undetected during design and passes into the coding activity, considerable effort will be expended to generate code that implements an unnecessary attribute, two unnecessary operations, messages that drive interblent communication and many other related issues. In addition, testing of the class will absorb more time than necessary. Once the problem is finally uncovered, modification of the system must be carried out with the everpresent potential for side effects that are caused by change. The objective of system testing is to ensure that all individual programs are working as expected, that the programs link together to meet the requirements specified and to ensure that the computer system and the associated clerical and other procedures work together. Systems are not designed as entire systems not they are tested as single systems. The analyst must perform both unit and system testing. An iterative development process yields increasingly improved versions of a software system until it is ready for deployment. Each iteration includes a mix of analysis, design, construction and testing resulting in a demonstrable form of the software that can be validated and refined. In unit testing the testing of programs that make the system is done. Unit testing gives stress on modules independently one another. Module is tested and necessary modification is made.
HobbySea.com
Page 58
2) PERFORMANCE TEST
Performance test will be conducted to ensure that the systems response times meet the user expectation and do not exceed the specified performance criteria. During these tests, response times will be measured under heavy stress and/or volume.
3) SECURITY TEST
Security tests will determine how secure the system is. The tests will verify that unauthorized user access to confidential data is prevented.
4) AUTOMATED TEST
A suite of automated tests will be developed to test the basic functionality of the system and perform regression testing on areas of the systems that previously had critical/major defects. The tool will also assist us by executing user scenarios thereby emulating several users.
HobbySea.com Page 59
6) RECOVERY TEST
Recovery tests will force the system to fail in a various ways and verify the recovery is properly performed. It is vitally important that all payroll data is recovered after a system failure & no corruption of the data occurred.
7) DOCUMENTATION TEST
Tests will be conducted to check the accuracy of the user documentation. These tests will ensure that no features are missing, and the contents can be easily understood.
8) BETA TEST
The Payroll department will beta tests the new payroll system and will report any defects they find. This will subject the system to tests that could not be performed in our test environment.
HobbySea.com
Page 60
WHITE-BOX TESTING
In using this strategy, the tester examines the internal structure of the program: Statement coverage, Decision coverage, condition coverage, Decision/Conditional coverage, Multiple condition coverage.
GRAY-BOX TESTING
In using this strategy Black box testing can be combine with knowledge of database validation, such as SQL for database query and adding/loading data sets to confirm functions, as well as query the database to confirm expected result.
HobbySea.com
Page 61
TESTING PRINCIPLES All tests should be traceable to customer requirement. Test should be planned along before testing begins. The Pareto principle applies to software testing. Testing should begin in small and progress toward testing in the large Exhaustive testing is not possible. To be most effective, testing should be conducted by an independent
third party.
Expected output
HobbySea.com
Page 62
CHAPTER 6 BIBLIOGRAPHY
HobbySea.com
Page 63
Online Resources
http://www.php.net http://www.w3schools.com/Ajax/ http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers http://www.google.com
Books
PRO PHP AND JQUERY PHP AND MYSQL SOFTWARE ENGINEERING : : : Jason Lengstorf Head first series K.K Aggarwal
HobbySea.com
Page 64
$fn = SITE_ROOT.'controller/'.$controller . '.php'; #controller path for jobseeker } elseif($_SESSION['USERTYPE_SESSION']=='3') { $fn = SITE_ROOT.'controller/'.$controller . '.php'; #controller path for employer } } /*if(isset($_REQUEST['controller']) && !empty($_REQUEST['controller'])) {echo $fn;die();}*/ if(file_exists($fn)){ require_once($fn); $controllerClass=$controller.'Controller';//echo $controller; if(!method_exists($controllerClass,$function)){ die($function .' function not found'); } $obj=new $controllerClass; $obj-> $function(); }else{ die($controller .' controller not found'); } ?>
HobbySea.com
Page 66
AdminHome.php - controller
<?php /* @author : Ashwani Singh * @date : 21-03-2013 * @description : Admin home Controller * @module : Admin * @updated on : 04-03-2013 * @todo : add change admin password functionality */ class AdminHomeController extends common #extends /classes/common which contains model and view loader methods { #method to display admin home page public function display() { //session_start(); $this->loadView('AdminHome'); #loading admin home view } #method to load admin password change view public function adminChangePassword() { $this->loadView('AdminChangePassword'); } #method to change admin password public function changePassword() { //print_r($_POST);die; $currentPassword = strip_tags($_POST['currentPassword']); $newPassword = strip_tags($_POST['newPassword']); $confirmPassword = strip_tags($_POST['confirmPassword']); $temp=$this-> loadModel("AdminHome","validateUser",array("password"=>$currentPasswor d)); if($temp) { if ($newPassword == $confirmPassword) {
HobbySea.com Page 67
if(strlen($newPassword)>PASSWORD_LENGTH) { $temp=$this>loadModel("AdminHome","changePassword",$newPassword); if($temp) { echo PASSWD_CHANGE_MSG ; } else { echo PASSWD_CHANGE_FAILED_MSG ; } } else { echo PASSWORD_SIZE_ERROR ; } } else { echo PASSWORD_MISMATCH_ERROR ; } } else { echo WRONG_PASSWORD_ERROR ; } } }
HobbySea.com
Page 68
AdminHome.php - model
<?php /* @author : Ashwani Singh * @date : 08-04-2013 * @description : Admin Home Model * @module : Admin * @modified on : */ class AdminHomeModel { private $_email; private $_password; #method to obtain connection from mysql database public function dbConnect() { $config=array(); require_once(PDO); #including CXPDO class require_once(PDO_CONFIG); #Requiring configuration array for PDO $db = dbclass::instance($config); #calling static instance() method of dbclass #which returns connection object
return $db; #returning connection object } function validateUser($dataFromUser) { $db = $this->dbConnect(); session_start(); $data = array(); $data['tables'] = 'users'; $password=md5($dataFromUser['password']); $email = $_SESSION['EMAIL_SESSION']; $data['conditions'] = array( "email = '$email' AND ", "password =
HobbySea.com Page 69
'$password'" ); $result = $db->select($data); if ( $result->rowCount() == 1 ) { return 1; } else { return 0; } } function changePassword($dataFromUser) { $db = $this->dbConnect(); session_start(); $email = $_SESSION['EMAIL_SESSION']; $data = array("password"=>md5($dataFromUser)); $where = array("email = '$email'"); $result = $db->update('users',$data,$where); if ($result) return 1; else return 0; } } ?>
HobbySea.com
Page 70
AdminHome.php - view
<?php /* @author : Ashwani Singh * @date : 01-04-2013 * @description : Admin main view (landing page after login) * @module : Admin * @modified on : */
include_once 'header.php'; ?> <div id="main"> <div class="wrapper"> <div id="content"> <div class="block"> <!--write one block div for one box content--> <div class="holder"> <div class="frame"> <div class="title"> <h2><span><?php echo ADMIN_HOME; ?></span></h2> </div> <!--code here--> <div id="admin_content"> <img src=<?php echo IMAGE_PATH."admin_images/admin_home.jpg";?> /> </div> </div> </div> </div> </div> <div id="sidebar"> <div class="block"> <!--write one block div for one box sidebar--> <div class="holder"> <div class="frame"> <div class="title"> <h3><span><?php SITE_MAP; ?></span></h3> </div> <!--code here--> <div
HobbySea.com Page 71
id="admin_sidebar_anchor"> <a href="<?php echo SITE_PATH.'indexMain.php?controller=Email&function=emailLandingPage';? >"><?php echo EMAIL_ACCOUNT; ?></a> <a href="<?php echo SITE_PATH.'indexMain.php?controller=AdminHome&function=adminChange Password';?>"><?php echo MANAGE_PASSWORD; ?></a> <a href="<?php echo SITE_PATH.'indexMain.php?controller=HomePageAds&function=display';?>" ><?php echo MANAGE_ABOUT_US; ?></a> <a href="<?php echo SITE_PATH.'indexMain.php?controller=SiteInformation&function=display';?> "><?php echo MANAGE_SITE_INFORMATION; ?></a> <a href="<?php echo SITE_PATH.'indexMain.php?controller=EmployerManagement&function=disp lay';?>"><?php echo MANAGE_EMPLOYER; ?></a> <a href="<?php echo SITE_PATH.'indexMain.php?controller=Reports&function=display';?>"><?ph p echo MANAGE_REPORTS; ?></a> <a href="<?php echo SITE_PATH.'indexMain.php?controller=DatabaseManagement&function=displ ay';?>"><?php echo MANAGE_DATABASE; ?></a> </div> </div> </div> </div> </div> </div> </div> <?php include_once 'footer.php'; ?>
HobbySea.com
Page 72