You are on page 1of 27

TradeSkill Seeker

A Project Report On

“TradeSkill Seeker”

Submitted to the
Department of MCA

In partial fulfillment of the

MASTER OF COMPUTER APPLICATIONS

Under the guidance of

Mr. K.T Thomas

Project Done by
POOJA OMANAKUTTAN (804428)

DEPARTMENT OF COMPUTER SCIENCE

July-2019

Department.of Computer Science, Santhigiri College


TradeSkill Seeker

1. EXECUTIVE SUMMARY

Problem Statement:
We all require the help of skilled people to accomplish many things when it comes to doing
the plumbing, wiring, flooring etc.. But it is often not very easy to get skilled people to do these
things, difficulty increases when you are a person moved recently to a particular locality.
As a Tradesman it is not easy to get jobs and sometimes seekers wont be familiar with all the
tradesmen in their locality and it might lead to them not getting any jobs.
Sometimes contractors need a bunch of human resources for their work and it is not easy for
them to find as many as they need.

Solution:
This application “TradeSkill Seeker” is a website that can serve as a solution to the above
stated problems to some extent. It will help seekers, tradesmen and contractors equally to
perform their intended tasks online. Website will allow its stakeholders to register themselves
and do what they want like search for a tradesmen or request for a quotation from tradesmen to
do a job. Main task of this website is to help sourcing a tradesman whom you can trust. This
website serves as a mediator between tradesmen and seekers. It connects contractors and seekers
to tradesmen.

2. BACKGROUND
2.1 Existing System
All of us need the help of tradesmen in one or another aspect of our life. We cannot build
a house or building on our own. It requires various skills such as plumbing, wiring, ceiling,
painting, designing etc.. In those situations, we might require people who are good at it. The only
way for finding a tradesman is to get the contact details from a neighbor or through their
personal connections. Here seekers wont even a get a chance to choose a good worker. If they
want to find a pool of good workers and to choose one from them, seekers have to go through a
lot of steps on their own. Gain the contact information of some tradesmen in that locality by
asking a number of other people, contact each of them individually, personally visit their
previous works etc... and finally decide on one tradesman.

Department of Computer Science, Santhigiri College 2


TradeSkill Seeker

From the perspective of a tradesmen, they have to distribute their personal contact cards to
everyone and wait for a call from seekers to get a work. They don’t have a platform to show
themselves and as a result many of them wont get work because seekers will always go for the
one whom their neighbor or friend knows.

Figure2.1: Existing System Activity Diagram

Department of Computer Science, Santhigiri College 3


TradeSkill Seeker

2.2 Definition of Problem-

It is not easy to find a skilled and appropriate worker for your job as sourcing them is
difficult. It requires a lot of manual work and effort to choose one, which could lead to a number
of days or even weeks to find one. Main disadvantages with this system are:

 Details about tradesmen are not easily available.


 Seeker has to consult many others who have availed the service of a tradesmen
before finalizing him/her.
 Seeker has to personally go and visit previous work sites of tradesmen to know their
efficiency and skill.
 Seeker will not get to choose from a pool of workers, they have to go with the usual
workers whom their friends and neighbors are familiar with.
 If you have moved recently to a new locality, it is hard to find a trusted worker.

2.3 Proposed System

“TradeSkill Seeker” application will serve as a mediator between Seekers and Tradesmen,
thus facilitate the search for tradesmen easy. Tradespeople and seekers have to register
themselves in the system. Registered seekers can search for tradesmen in their locality and the
application will give them a list of registered Tradesmen in that locality. Once the work is
completed seekers can rate and review tradesmen which will help others to know about the
tradesmen. Tradesmen can post the pictures of their previous work. This website will connect
tradesmen and seekers.
Advantages of Proposed System:
Since almost all the tasks will be done by the “TradeSkill Seeker” application it will make
the following tasks easier:
 Easy to search tradesmen.
 Reduce the need to travel for verifying Tradesmen’s work.
 Time Saving.
 Increase options.

Department of Computer Science, Santhigiri College 4


TradeSkill Seeker

3. PROJECT OVERVIEW

The project entitled “TradeSkill Seeker” is a website application developed in Java using
MySQL as backend. The main aim of “TradeSkill Seeker” is to connect tradesmen and seekers.
Make it easier for seekers to search local tradespeople and for tradespeople to get job
opportunities.

3.1 Objective of the Project


The proposed system is developed to create a simple, user friendly and to use software that
avoids the tedious task done by the existing system. The system is accessible for the
authenticated user of the system wherein all users of the system contain their valid user id and
password. It uses Java with MySQL for developing the application. Following are the objectives
of the project.
Main objective of the project is to connect seekers and tradesmen. Facilitate the search for
tradespeople easy. Seekers can ask for quotation from tradesmen based on their budget to
perform a job. Make it easier for Tradespeople to get job. This system will act as a mediator that
facilitates both seekers and tradesmen to engage in a business.

3.2 Stakeholders
A person, group, organization that has interest or concern in an organization are
stakeholders. Stakeholders can affect or be affected by the organization’s actions, objectives and
policies. Stakeholders of “TadeSkill Seeker” project are:

Seeker
Seekers are the normal people who comes to the website to search for tradespeople. This
project will enable them to easily search for tradespeople and thus increase the options they can
avail. It will help them reduce many tasks which they are doing currently. This application will
eliminate the need for hunting tradespersons and then going to their work sites to see their works
etc..

Department of Computer Science, Santhigiri College 5


TradeSkill Seeker

Tradesmen
This project will create work for them. Tradesmen are one of the stakeholder, they will get
requests from seekers and they can respond to seekers. This application will enable them to
upload images of their works also.
Contractors
Contractors who are in need for human resources to complete a contract work can hunt for
them in this website. They can post an advertisement post for Tradesmen and recruit from the
interested ones. In a way this website will help contractors to run a small organization because its
easy for them to get human resource through this website.

3.3 Scope of the Project


“TradeSkill Seeker” is a website application that connects Tradesmen and seekers. It
requires the Tradesmen to register themselves in the system giving all the necessary details and
seeker who are registered in the system can search for these tradesmen in their locality and
request for a quotation within their budget. Thus the system makes it easy for seekers to search
tradesmen and tradesmen to get job. Instead of just one or two tradesmen system provides a pool
of names and seeker can choose from them.
It is a web application and it can be accessed in any computing devices including smart
phones, tablets, PC’s with a browser and internet connection, but the smart phone specific
application is not included within this project development phase. This system can’t connect to
the systems of authorities that provides license to tradesmen and contractors and hence automatic
authentication of tradesmen, contractors is not possible through system and is a manual duty and
sole responsibility of the Admin to verify these details and register them in the system.
3.4 Feasibility Analysis
A feasibility study is carried out to select the best system that meets performance
requirements. The main aim of the feasibility study activity is to determine whether it would be
financially and technically feasible to develop the product. The feasibility study activity involves
the analysis of the problem and collection of all relevant information relating to the product such
as the different data items which would be input to the system, the processing required to be
carried out on these data, the output data required to be produced by the system as well as
various constraints on the behavior of the system.

Department of Computer Science, Santhigiri College 6


TradeSkill Seeker

3.4.1 Technical feasibility


Evaluating the technical feasibility is the trickiest part of a feasibility study. This is
because, at this point in time, not too many detailed design of the system, making it difficult to
access issues like performance, costs on (on account of the kind of technology to be
deployed)etc. A number of issues have to be considered while doing a technical analysis:
• Understand the different technologies involved in the proposed system.
• Before commencing the project, we have to be very clear about what are the technologies
That are to be required for the development of the new system.
• Find out whether the user currently possesses the required technologies
Technical Description
The total number of tables that were identified to build the system is 16. The major part
of the Databases is categorized as Administrative components and the user components. The
administrative components are useful is managing the actual master data that maybe necessary to
maintain the consistency of the system. The administrative databases are purely used for the
internal organizational needs and necessities. The user components are designed to handle the
transactional state that arise upon the system whenever the general client makes a visit onto the
system for the sake of the report based information. This system is developed using front end as
JSP and Backend as MySQL.

3.4.2 Operational feasibility


Operational feasibility determines whether the system will operate effectively once it is
developed. This project is operationally feasible. That is its user interface and operations are
simple and easy to understand for every user. The understanding of working with this system is
very simple. Every user in this system has a customized home page for particular user that help
to easy management for the user.

3.4.3 Schedule feasibility


Schedule Feasibility ensures that the project should be completed within the given time
constraint or schedule. It also verifies and validates whether the deadlines of project are
reasonable or not. If a project has a high probability to be completed on-time, then its schedule
feasibility is appraised as high. In many cases a project will be unsuccessful if it takes longer

Department of Computer Science, Santhigiri College 7


TradeSkill Seeker

than it was estimated. Some external environmental conditions may change, hence a project can
lose its benefits, expediency and profitability.
The time scheduled for this project is 4 months. The project is divided into 4 modules and
1 month is allotted for each module.

3.4.4. Economic feasibility - Cost - Benefit Analysis


Cost benefit analysis (CBA), sometimes called benefit costs analysis (BCA), is a
systematic approach to estimating the strengths and weaknesses of alternatives (for example in
transactions, activities, functional business requirements or projects investments); it is used to
determine options that provide the best approach to achieve benefits while preserving
savings. The CBA is also defined as a systematic process for calculating and comparing benefits
and costs of a decision, policy (with particular regard to government policy) or (in general)
project.

Broadly, CBA has two main purposes:

1. To determine if an investment/decision is sound (justification/feasibility) – verifying


whether its benefits outweigh the costs, and by how much;
2. To provide a basis for comparing projects – which involves comparing the total expected
cost of each option against its total expected benefits.

CBA is related to (but distinct from) cost-effectiveness analysis. In CBA, benefits and costs
are expressed in monetary terms, and are adjusted for the time value of money, so that all flows
of benefits and flows of project costs over time (which tend to occur at different points in time)
are expressed on a common basis in terms of their net present value. Closely related, but slightly
different, formal techniques include cost-effectiveness analysis, cost–utility analysis, risk–benefit
analysis, economic impact analysis, fiscal impact analysis, and social return on
investment (SROI) analysis. During the development of this project under several cost analysis.
In each stage, the construction of this project is trying to effectively use the technologies,
strategies, methods and other facilities.

This is a student project and the total cost requirement to develop the software would be
rupees 6000, and the total cost requirement to host the website and to run it for a year would be
around 3000. There is no cost procurement from users will be done. As there is no income from

Department of Computer Science, Santhigiri College 8


TradeSkill Seeker

the users it might seem that this project is economically not feasible. But as a student project it is
feasible and if we include Google Ad’s it might help earn money in the coming years after
hosting the website. So doing this project is feasible.

4 PROJECT PLANNING
4.1 Development environment
In this project using the following technologies like Eclipse Oxygen, JavaScript, CSS, HTML 5,
and MySQL.

Type of Application Web Application/Website

Database modelling tools: MySQL Workbench

IDE: Eclipse

Databases/Data Storages MySQL

Programming languages Java JEE/J2ee

Web Technologies HTML5,CSS,Ajax and Javascript

Application and web servers Apache Tomcat

Hardware Specification
Hardware requirements for development are as listed below.

 1.6 GHz or faster processor.


 1 GB of RAM (1.5 GB if running on a virtual machine)
 10 GB of available hard disk space for a typical installation.
 600 MB of available hard disk space (language pack)
 5400 RPM hard drive.
 DirectX 9-Capable video card running at 1024 x 768 or higher display resolution

Department of Computer Science, Santhigiri College 9


TradeSkill Seeker

4.2 Constraints
The three most significant project constraints -- schedule, cost and scope -- are sometimes
known as the triple constraint or the project management triangle.

A project’s scope involves the specific goals, deliverables and tasks that define the
boundaries of the project. The schedule (sometimes stated more broadly as time) specifies the
timeline according to which those components will be delivered, including the final deadline for
completion. Cost (sometimes stated more broadly as resources) involves the financial limitation
of resources input to the project and also the overall limit for the total amount that can be spent.

This project “TradeSkill Seeker” has also some constraints bound to it. Time required to
make such a large application with its full potential is more than 5 months and this will lead to
limiting the development of application to what is essential and much required functionalities.
Also, developing such a website application requires more than one resource as it is not easy for
one to excel in developing both front end and back end and to be an expert in all the
programming languages used. This would result in not utilizing all the possibilities available.

Budget is another constraint that causes to cut down some functionalities such as sending
an SMS to each user or verifying user identity through Aadhar facility etc.. as this would require
more budget.
4.3 Deliverables
Deliverables of this project include a fully developed website Application with all the
requirements covered, a documentation including various UML diagrams for easy understanding
such as Activity Diagram, Sequence Diagram, Class Diagram and UseCase Diagram, and project
software source code.
4.4 Assumptions and dependencies
User will be able to handle basic computer functionalities.
User will be having the basic knowledge of English.
Users will be having an internet connection and a device with any web browser installed to
run the application.

Department of Computer Science, Santhigiri College 10


TradeSkill Seeker

4.5 Risks
“Adding unnecessary features”: Gold plating is a source of additional risk and is considered
bad management practice. This can be mitigated by removing the additional features from the
plan if there occurs a time constraint.
“Time to learn”: It may take time to study a new programming language, piece of
software, or hardware component. This can be mitigated by taking help from others who are
experts in that area or by doing it with a familiar language and most importantly by learning it
before starting the project.
“Application isn’t scalable”: Scalability is the ability of software to be scaled in order to
cope with an increasing load and/or to be easily duplicated in another place. This can be
mitigated by taking care of reducing dependencies while designing and coding each modules and
functionalities. Each should be loosely coupled.

4.6 Process model


In the Scrum Framework all activities needed for the implementation of entries from the
Scrum Product Backlog are performed within Sprints (also called 'Iterations'). Sprints are always
short: normally about 2-4 weeks.

A sprint (or iteration) is the basic unit of development in Scrum. The sprint is a time
boxed effort; that is, it is restricted to a specific duration. The duration is fixed in advance for
each sprint and is normally between one week and one month, with two weeks being the most
common.

Each sprint starts with a sprint planning event that aims to define a sprint backlog, identify the
work for the sprint, and make an estimated forecast for the sprint goal. Each sprint ends with a
sprint review and sprint retrospective, that reviews progress to show to stakeholders and identify
lessons and improvements for the next sprints.

Department of Computer Science, Santhigiri College 11


TradeSkill Seeker

Sprint review

At the end of a sprint, the team holds two events: the sprint review and the sprint retrospective.

At the sprint review, the team:

 reviews the work that was completed and the planned work that was not completed
 presents the completed work to the stakeholders (a.k.a. the demo)
 collaborates with the stakeholders on what to work on next

Guidelines for sprint reviews:

 Incomplete work cannot be demonstrated.


 The recommended duration is two hours for a two-week sprint (proportional for other sprint-
durations).

Sprint retrospective

At the sprint retrospective, the team:

 Reflects on the past sprint


 Identifies and agrees on continuous process improvement actions

Guidelines for sprint retrospectives:

 Three main questions are asked in the sprint retrospective: What went well during the sprint?
What did not go well? What could be improved for better productivity in the next sprint?
 The recommended duration is one-and-a-half hours for a two-week sprint (proportional for
other sprint duration(s))
 This event is facilitated by the scrum master

Department of Computer Science, Santhigiri College 12


TradeSkill Seeker

4.7 Test Strategy


4.7.1 Unit Testing
Unit testing is a level of software testing where individual units/ components of a
software are tested. The purpose is to validate that each unit of the software performs as
designed. A unit is the smallest testable part of software. It usually has one or a few inputs and
usually a single output. The modules of the system are tested separately. The testing is carried
out during programming stage itself. In this testing step each module is found to working
satisfactory as regard to the expected output from the module. There are some validation checks
for verifying the data input given by the user which both the formal and validity of the entered.
It is very easy to find error debug the system.
I have continued Unit testing from the starting of the coding phase itself. Whenever I
complete one small sub module, some amount of testing was done based on the requirements to
see if the functionality is aligned to the gathered requirements.
4.7.2 Peer Testing
Peer review is a review technique which is a static white box testing which are
conducted to spot the defects early in the life cycle that cannot be detected by black box testing
techniques. After the unit testing each module is given to the peer group for testing.
4.7.3 Validation Testing

Validation is the process to make sure the product satisfies the specified requirements at
the end of the development phase. In other words, to make sure the product is built as per seeker
requirements.

4.7.4 Functional Testing

Functional testing is the testing to ensure that the specified functionality required in the
system requirements works.

4.7.5 Acceptance Testing

Acceptance testing is often done by the seeker to ensure that the delivered product meets
the requirements and works as the seeker expected. It falls under the class of black box testing.

Department of Computer Science, Santhigiri College 13


TradeSkill Seeker

4.8 Testing environment and tools

Operating System:

 Windows 7, Windows 8 or Windows 10


 Mac OSX 10.8, 10.9, 10.10 or 10.11 and more
 Linux, Ubuntu

Hardware:

 Processor (CPU) with 2 gigahertz (GHz) frequency or above


 A minimum of 2 GB of RAM
 Monitor Resolution 1024 X 768 or higher
 A minimum of 20 GB of available space on the hard disk
 Internet Connection Broadband (high-speed) Internet connection with a speed of 4 Mbps
or higher
 Keyboard and a Microsoft Mouse or some other compatible pointing device

Browsers:

 Chrome
 Edge
 Mozilla Firefox
 Internet Explorer (Windows only)
 Safari (MacOS only)
 Opera

Department of Computer Science, Santhigiri College 14


TradeSkill Seeker

5.DIAGRAMS

Fig 5.1 Usecase diagram for TradeSkill Seeker

Department of Computer Science, Santhigiri College 15


TradeSkill Seeker

Fig 5.2 Activity diagram for TradeSkill Seeker

Department of Computer Science, Santhigiri College 16


TradeSkill Seeker

Fig 5.3 Sequence diagram for Admin -TradeSkill Seeker

Department of Computer Science, Santhigiri College 17


TradeSkill Seeker

Fig 5.4 Sequence diagram for Seeker -TradeSkill Seeker

Department of Computer Science, Santhigiri College 18


TradeSkill Seeker

Fig 5.5 Sequence diagram for Contractor -TradeSkill Seeker

Department of Computer Science, Santhigiri College 19


TradeSkill Seeker

Fig 5.6 Class diagram for TradeSkill Seeker

Department of Computer Science, Santhigiri College 20


TradeSkill Seeker

6.DATABASE DESIGN

Table 6.1: tbl_district

Name of the table : tbl_district


Description : To store various district names
Primary Key : district_id
Foreign Key : Null

Sl.No Field Datatype Description


1. district_id Int(11)
2. district_name Varchar(45)

Table 6.2: tbl_place

Name of the table : tbl_place


Description : To store various locality names
Primary Key : place_id
Foreign Key : district_id

Sl.No Field Datatype Description


1. place_id Int(11)
2. place_name Varchar(45)
3. district_id Int(11)
4. pincode Int(6)

Table 6.3: tbl_seeker_reg


Name of the table : tbl_seeker_reg
Description : To store details about seeker
Primary Key : seeker_id
Foreign Key : place_id

Sl.No Field Datatype Description


1. seeker_id Int(11)
2. seeker_name Varchar(45)
3. seeker_email Int(11)
4. seeker_mobile Varchar(10)
5. seeker_address Varchar(90)
6. seeker_pic Varchar(45)
7. place_id Int(11)

Department of Computer Science, Santhigiri College 21


TradeSkill Seeker

Table 6.4: tbl_trade


Name of the table : tbl_trade
Description : To different trades (Electrician, Plumber)
Primary Key : trade_id
Foreign Key : Null

Sl.No Field Datatype Description


1. trade_id Int(11)
2. trade_type Varchar(45)

Table 6.5: tbl_tradesmen


Name of the table : tbl_tradesmen
Description : To store details of different tradesmen who register.
Primary Key : tradesmen_id
Foreign Key : trade_id, place_id

Sl.No Field Datatype Description


1. tradesmen_id Int(11)
2. tradesmen_name Varchar(45)
3. tradesmen_email Varchar(45)
4. tradesmen_mobile Varchar(10)
5. tradesmen_address Varchar(90)
6. tradesmen_place
6. tradesmen_license Varchar(45)
7. tradesmen_license_authority Varchar(45)
8. trade_id Int(11)

Table 6.6: tbl_job


Name of the table : tbl_job
Description : To store details of job created by a seeker
Primary Key : job_id
Foreign Key : seeker_id, trade_id

Department of Computer Science, Santhigiri College 22


TradeSkill Seeker

Sl.No Field Datatype Description


1. job_id Int(11)
2. job_category Varchar(45)
3. job_date Varchar(45)
4. job_startDate Varchar(45)
5. job_endDate Varchar(45)
6. job_description Varchar(90)
6. seeker_id Int(11)
7. trade_id Int(11)
8. trade_id

Table 6.7: tbl_jobResponse


Name of the table : tbl_jobResponse
Description : To store details of response from Tradesmen for a job.
Primary Key : job_id
Foreign Key : job_id, tradesmen_id

Sl.No Field Datatype Description


1. response_id Int(11)
2. response_date Varchar(45)
3. response Varchar(45)
4. job_id Int(11)
5. technician_id Int(11)

Table 6.8: tbl_rating


Name of the table : tbl_rating
Description : To store rating and review given to a Tradesmen
Primary Key : rating_id
Foreign Key : seeker_id, tradesmen_id

Sl.No Field Datatype Description


1. rating_id Int(11)
2. feedback Varchar(45)
3. rating Varchar(45)
4. seeker_id Int(11)
5. tradesmen_id Int(11)

Department of Computer Science, Santhigiri College 23


TradeSkill Seeker

Table 6. 9: tbl_jobAssign
Name of the table : tbl_jobAssign
Description : To store details of a job assigned.
Primary Key : jobAssign_id
Foreign Key : job_id, tradesmen_id

Sl.No Field Datatype Description


1. jobAssign_id Int(11)
2. job_id Int(11)
3. jobAssign_date Varchar(45)
4. tradesmen_id Int(11)

Table 6.10: tbl_contractor_category


Name of the table : tbl_contractor_category
Description : To store different type of contractor category
Primary Key : ccategory_id
Foreign Key : None

Sl.No Field Datatype Description


1. ccategory_id Int(11)
2. ccategory_name Varchar(45)

Table 6.11: tbl_contractor


Name of the table : tbl_contractor
Description : To store details of contractors.
Primary Key : contractor_id
Foreign Key : ccategory_id

Sl.No Field Datatype Description


1. contractor_id Int(11)
2. ccategory_id Int(11)
3. contractor_name Varchar(45)
4. contractor_mobile Varchar(45)
5. contractor_email Varchar(45)
6. contractor_license Varchar(45)
6. contractor_authority Varchar(45)
7. place_id Int(11)

Department of Computer Science, Santhigiri College 24


TradeSkill Seeker

Table 6.12: tbl_contract


Name of the table : tbl_contract
Description : To store details of contract created by contractors
Primary Key : contract_id
Foreign Key : contractor_id

Sl.No Field Datatype Description


1. contract_id Int(11)
2. contractor_id Int(11)
3. contract_name Varchar(45)
4. contract_desc Varchar(45)
5. contract_date Varchar(45)
6. contract_startdate Varchar(45)
7. contract_enddate Varchar(45)
8. contract_number Int(11)
9. contract_status Int(11)
10. tradesmen_id Int(11)

Table 6.13: tbl_contractResponse


Name of the table : tbl_contractResponse
Description : To store details of interested tradesmen for a single
contract
Primary Key : cresponse_id
Foreign Key : contractor_id,tradesmen_id

Sl.No Field Datatype Description


1. cresponse_id Int(11)
2. cresponse_date Varchar(45)
3. cresponse Varchar(45)
4. contract_id Int(11)
5. technician_id Int(11)

Department of Computer Science, Santhigiri College 25


TradeSkill Seeker

Table 6.14: tbl_contractAssign


Name of the table : tbl_contractAssign
Description : To store details of a contract assigned.
Primary Key : contractAssign_id
Foreign Key : contract_id, tradesmen_id

Sl.No Field Datatype Description


1. contractAssign_id Int(11)
2. contract_id Int(11)
3. contractAssign_date Varchar(45)
5. tradesmen_id Int(11)

Table 6.15: tbl_sell


Name of the table : tbl_sell
Description : To store details of a property that contractor want to sell.
Primary Key : sell_id
Foreign Key : contractor_id

Sl.No Field Datatype Description


1. sell_id Int(11)
2. contractor_id Int(11)
3. sell_date Varchar(45)
5. sell_description Varchar(45)
6. sell_status Int(11)

Table 6.16: tbl_pics


Name of the table : tbl_pics
Description : To store pictures of a property that contractor want to
sell.
Primary Key : pic_id
Foreign Key : sell_id

Sl.No Field Datatype Description


1. pic_id Int(11)
2. sell_id Int(11)
3. pic_name Varchar(45)

Department of Computer Science, Santhigiri College 26


TradeSkill Seeker

Department of Computer Science, Santhigiri College 27

You might also like