Im97k Mlv0u
Im97k Mlv0u
INTRODUCTION
1.1 ABSTRACT:
SkillHive is an innovative platform designed to connect skilled workers, such as electricians,
plumbers, painters, carpenters, and other professionals, with clients seeking reliable services for
construction, repair, and maintenance tasks. Acting as a centralized hub, SkillHive empowers
workers to showcase their skills, experience, and portfolios, while enabling clients to search for,
communicate with, and hire the right professionals effortlessly.
Workers can create detailed profiles showcasing their expertise, certification, experience
and availability. Clients benefits from an intivitive search and filtering system, allowing them to
find workers based on service category, Location, pricing and user ratings. The system enables
direct communication between clients and workers ensuring a seamless hiring process without
intermediaries.
To ensure a reliable and safe user experience, SkillHive includes worker verification
processes and a dedicated admin panel for monitoring activities, managing user accounts, and
resolving disputes. These features promote trust and enhance the overall platform integrity.
2. SYSTEM STUDY
1
2.1 EXISTING SYSTEM
In the current scenario, finding skilled workers such as plumbers, electricians, carpenters, and
painters is often time-consuming and inconvenient for customers. The challenges of the existing
system include:
Manual Search for Workers: Customers rely personal recommendations and local
advertisements, which - can be unreliable and limited to their social circle.
Local Classifieds & Print Media: Newspapers and pamphlets list service providers, but
these are not updated frequently and lack real-time availability.
Limited Availability Information: There is no centralized platform to check worker
availability, leading to delays in hiring.
Lack of Transparency: There is no proper way to verify the skills, experience, or
customer reviews of workers.
Communication Barriers: Customers must contact multiple workers individually to
discuss pricing and service availability.
Limited Worker Opportunities: Skilled workers often struggle to find consistent jobs
due to a lack of visibility and accessibility to potential clients.
The SkillHive is an online platform designed to connect customers with skilled workers
efficiently. This system enhances convenience, transparency, and accessibility for both clients and
service providers.
2
FEATURES OF PROPOSED SYSTEM:
Customers can easily browse and find workers based on categories (plumber,
electrician, carpenter, etc.).
Works on both laptop and mobile browsers with a responsive design.
2. Worker Profiles:
Each worker will have a profile displaying their name, skills, contact details, and
availability.
Customers can select a worker based on their preferences.
Customers can search for workers based on location and service type.
Filters help users find the best-suited worker quickly.
Customers can contact workers via phone or WhatsApp through provided contact details.
No need for middlemen, making the hiring process fast and direct.
Clients can book appointments directly with workers based on their availability.
Workers can accept or decline bookings via the platform.
3
7. Admin Panel for System Management:
Admin can monitor user registrations, verify worker profiles, and handle customer queries.
Provides data analytics on service demand and user engagement.
[Link] REQUIREMENTS
• The purpose of this document in to give detailed description to the requirements for the
“SKILLHIVE”. The SRS should fully describe the external and internal behavior of the
system.
• It also describes the functional requirement and other factor necessary provides a complete
and comprehensive description of the requirement for the software.
4
RAM : 8.00GB
DOCUMENTATION&
PRESENTATION : MS-OFFICE
4. SOFTWARE DESCRIPTION
SUPPORTED PLATFORMS:
5
Window: Visual studio allows developers to build desktop applications, window services,
console app and more.
MacOS: Visual studio for Mac enables development for Macos and cross-platform
applications.
Mobile (Android or iOS): Using Xamarin, developers can build native mobile app for
android and iOS.
Web application: Visual studio provides robust tools for building web application,
including full support for [Link] and other web technologies like HTML, CSS,
JavaScript and Type Script.
Cloud: Integrated tools for Azure allow developers to build, test, and deploy application
to the cloud.
Cross-platform: With .NET core and .NET MAUI, visual studio enables building
application that run on Linux, Windows, and MacOS.
[Link]:
SUPPORTED LANGUAGE:
C#: The most commonly used language for [Link], designed for building secure
and scalable applications
Visual basic: offers a simpler syntax and is popular for rapid application development.
F#: A functional programming language supported by .NET, through less commonly
used in [Link] projects.
6
[Link] can be divided into two main categories:
[Link] with C# is the most widely used combination for building powerful, dynamic,
and scalable web application. C# is a modern, object oriented programming language that makes
it easy to develop applications with clean and maintainable code. The combination of [Link]
and C# allows developers to leverage the rich .NET libraries, tools, and security features while
using a language known or its ease of use and efficiency.
[Link] with C# provides support for various architectures, including MVC (Model-
View Controller), web APIs, and Razor pages which offers flexibility and organization for both
small and large projects.
MVC Architecture: [Link] supports the MVC patterns, which separates the
application logic, UI, and data model, improving maintainability and scalability. This
allows developers to work more efficiently by dividing concerns into different layer.
Cross-platform development: With [Link] core, applications can be developed
and run on multiple platforms, including Windows, MacOS, and LINUX, making it a
versatile choice for modern, cloud-based web applications.
Razor pages: Razor is a lightweight syntax for embedding C# into HTML markup,
making it easier to write dynamic web pages with cleaner code.
Integrated development with Visual studio: [Link] integrates seamlessly with
visual studio, providing developers with advanced debugging, testing, and deployment
tools. The powerful IDE speeds up the development process with features like
Intelligence, real-time errors checking, and built-in Git support.
7
Security features: [Link] comes with built-in security features, including
authentication and authorization mechanisms like window authentication, form
authentication, and the identity framework. These ensure that web applications are
secure from common vulnerabilities.
High performance and scalability: [Link] core is optimized for performance,
delivering faster response time and better resources management. It supports
asynchronous programming using async/await, enabling better scalability and handling
of multiple request concurrently.
State management: [Link] offers multiple options for managing the state of an
application, such as view state, session, application objects, and cache, ensuring smooth
user experiences across multiple requests.
Entity framework: [Link] supports Entity Framework (EF), an ORM (Object-
Relational Mapper), which makes database interactions easier by allowing developers
to work with data using C# objects rather than SQL queries.
Web ASP development: [Link] makes it easy to develop RESTFUL web APIs,
which can be used for client-server communication, building micro services, and
creating mobile-friendly services.
Cloud-ready and containerization: [Link] core is cloud-ready, with built-in
support for Docker containers and kubernetes making it easy to deploy, scale, and
manage applications cloud environments like Microsoft Azures.
Microsoft SQL Server is a relational database management system (RDBMS) designed to store,
retrieve, and manage data efficiently. It is widely used in enterprise applications, web platforms,
and business intelligence solutions. With robust security, high availability, and scalability, SQL
Server ensures reliable data management for businesses of all sizes. It supports Transact-SQL (T-
SQL), an extension of SQL, allowing developers to write complex queries, stored procedures, and
triggers to optimize data processing. SQL Server also integrates with cloud services and modern
analytics tools, making it a versatile solution for data-driven applications.
8
1. Relational Database Management: Organizes data into structured tables with
relationships for efficient querying.
2. T-SQL (Transact-SQL): Enhances SQL with procedural programming features like
loops and conditions.
3. High Availability & Disaster Recovery: Supports Always On Availability Groups and
Failover Clustering.
4. Security & Compliance: Offers encryption, data masking, and role-based access control.
5. Stored Procedures & Triggers: Enables automation and performance optimization in
database operations.
6. Indexing & Query Optimization: Uses clustered and non-clustered indexes for faster
data retrieval.
7. Backup & Restore: Supports full, differential, and transaction log backups for data
protection.
8. Replication: Synchronizes data across multiple servers using snapshot, transactional, or
merge replication.
9. Scalability & Partitioning: Handles large datasets efficiently with horizontal and
vertical partitioning.
10. Data Warehousing & BI: Integrates with SSIS, SSAS, and Power BI for business
intelligence solutions.
11. Advanced Query Processing: Supports full-text search, JSON, XML, and graph
database functions.
12. Cloud & Big Data Integration: Works with Azure SQL Database and PolyBase for big
data processing.
13. Machine Learning Support: Runs R and Python scripts for AI-driven analytics and
insights.
14. Logging & Auditing: Tracks database activities using SQL Audit and Change Data
Capture (CDC).
15. Multi-Version Concurrency Control (MVCC): Improves performance by reducing
locking conflicts.
9
5. PROBLEM DESCRIPTION
DESIGN OF MODULES
10
Workers will receive job notifications and can accept or reject requests. Booking
history will be stored, allowing both clients and workers to track past services.
11
6. SYSTEM DESIGN
CLIENT:
LOGIN
REGISTER
CLIENT DASHBOARD
MANAGE PROFILE
SEARCH WORKERS
VIEW MY REQUEST
GIVE RATING/REVIEW
12
CHAT WITH WORKERS
VIEW RATING/REVIEW
LOGOUT
13
WORKER:
LOGIN
. REGISTER
WORKER DASHBOARD
MANAGE PROFILE
LOGOUT
14
ADMIN:
LOGIN
ADMIN DASHBOARD
.
MANAGE WORKERS
MANAGE CLIENTS
VIEW BOOKINGS
VIEW FEEDBACKS
LOGOUT
15
6.2 ACTIVITY DIAGRAM:
CLIENT:
START
CLIENT REGISTRATION
CLIENT LOGIN
YES NO
IS LOGIN
SUCCESSFUL?
CLIENT DASHBOARD
VIEW/UPDATE PROFILE
SEARCH/FILTER WORKERS
NO
VIEW WORKERS DETAILS
VIEW MY REQUEST
WORKER
ACCEPT?
RATING/REVIEW TO WORKERS
LOGOUT
16
END
WORKER:
START
WORKER LOGIN
NO
WORKER REGISTRATION
YES
IS LOGIN
SUCCESSFUL?
WORKER DASHBORD
VIEW/UPDATE PROFILE
VIEW REVIEW/RATINGS
LOGOUT
17
END
ADMIN:
START
CLIENT LOGIN
NO
IS LOGIN
SUCCESSFUL?
ADMIN DASHBOARD
MANAGE WORKERS
APPROVE/REMOVE WORKERS
MANAGE CLIENTS
APPROVE/REMOVE CLIENTS
VIEW BOOKINGS
VIEW FEEDBACKS
LOGOUT
END
18
TABLE DESIGN:
USERS:
UserID Int
Role Nvarchar(50)
FullName Nvarchar(50)
Email Nvarchar(50)
Password Nvarchar(50)
Phone int
Gender Nvarchar(50)
DOB date
AadharNo int
City Nvarchar(50)
State Nvarchar(50)
Pincode Nvarchar(50)
Profession Nvarchar(50)
Experience int
WorskStatus Nvarchar(50)
AboutMe Nvarchar(500)
AvailableTime Nvarchar(500)
ProfilePic Nvarchar(MAX)
PreviousServiceImages Nvarchar(MAX)
ApprovalStatus bit
19
REVIEWS:
ReviewID int
Int int
ClientID int
WorkerID int
Rating int
ReviewText Nvarchar(50)
DatePosted datetime
MESSAGES:
ID int
SenderID int
RecieverID int
MessageText Nvarchar(500)
TimeStamp datetime
IsRead bit
20
BOOKINGS:
ID int
UserID int
PreferredDate date
PreferredTime Time(7)
Message Nvarchar(1000)
Status Nvarchar(50)
ClientID int
WorkerID Int
ADMINS:
AdminID int
Username Nvarchar(50)
Password Nvarchar(50)
21
7. TESTING AND IMPLEMENTATION
The goal of testing is to demonstrate that the program under constrain bugs. Software testing
is the process by which one detects the defects in the software. Testing is the process of trying to
discover every conceivable fault or weakness in a work.
If testing is conducted successfully, it will uncover errors in the software. Nothing is complete
without testing, as it is vital success of the system. Testing is the process of executing the program
with intent of the finding errors. Testing cannot show the absence of the defects, it can only show
that software error is present.
UNIT TESTING:
Unit testing is carried out screen-wise, each being identified as an object. Attention is diverted
to individual modules, independently to one another to locate errors. This has enabled the
detection of errors inn coding. This is the first level of unit testing. In these codes are written such
that from one module, we can move on to the next module according to the choice we enter.
When invalid application number is entered the message is not displayed to the user that the
entered application number is invalid. After conducting the unit testing discover the above error
and corrected by displaying the message “Please enter the valid application number in message
box”.
INTEGRATION TESTING:
This testing strategy combines all the modules involved in the system. After the independent
modules are tested, dependent modules are dependent modules that use the independent modules
are tested. This sequence of testing layers of dependent modules continues until the entire system
is constructed. Though each module individually, they should work after linking them together.
Data may be lost access interface and one module can have adverse effect another.
22
SYSTEM TESTING:
System Testing is a level of testing that validates the complete and fully integrated software
product. The purpose of a system test is to evaluate the end-to-end system specifications. Usually,
the software is only one element of a larger computer-based system. Ultimately, the software is
interfaced with other software/hardware systems. System Testing is defined as a series of different
tests whose sole purpose is to exercise the full computer-based system.
VALIDATION TESTING:
OUTPUT TESTING:
After performing the validation testing, the next step is output testing of the proposed system,
since no system could be useful if it does not produce the require output in the specified format.
Asking the users about the format required by them, tests the outputs generated are displayed by
this system under consideration. The output format is considered in two ways. One is on screen
and another is printed format. The output format on this screen is found to be correct as the format
was designed in the system design phase according to the user needs.
IMPLEMENTATION:
Implementation is the execution or practice of a plan, a method or any design, idea, model,
specification, standard or policy for doing something. As such, implementation is the action that
must follow any preliminary thinking for something to actually happen.
using System;
23
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
namespace skillhive
string connString =
[Link]["constr"].ConnectionString;
[Link]();
24
string query = "SELECT UserID, Role FROM Users WHERE Email=@Email AND
Password=@Password";
[Link]("@Email", [Link]);
[Link]("@Password", [Link]);
if ([Link]())
// Store in Session
Session["UserID"] = userID;
Session["Role"] = userRole;
if (userRole == "Client")
25
[Link]("[Link]");
[Link]("[Link]");
else
using System;
using [Link];
26
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
namespace skillhive
27
// Validation
if (role == "" || fullName == "" || email == "" || phone == "" || password == "" ||
confirmPassword == "")
return;
if (password != confirmPassword)
return;
string connString =
[Link]["constr"].ConnectionString;
[Link]();
28
string checkQuery = "SELECT COUNT(*) FROM Users WHERE Email=@Email";
[Link]("@Email", [Link]);
if ((int)[Link]() > 0)
return;
[Link]("@Role", [Link]);
[Link]("@FullName", [Link]);
[Link]("@Email", [Link]);
[Link]("@Phone", [Link]);
29
[Link]("@Password", [Link]);
Session["UserID"] = userID;
if ([Link] == "Client")
[Link]("[Link]");
[Link]("[Link]");
30
}
CLIENT DASHBOARD:
using System;
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
namespace skillhive
31
return;
string connString =
[Link]["constr"].ConnectionString;
[Link]();
[Link]("@UserID", userID);
if ([Link]())
if (status == "Removed")
32
{
[Link]("[Link]?reason=removed");
return;
[Link]("[Link]?reason=pending");
return;
[Link] = reader["FullName"].ToString();
[Link] = reader["Email"].ToString();
[Link] = reader["ProfilePic"].ToString();
else
[Link]("[Link]");
33
}
SEARCH WORKERS:
using System;
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
namespace skillhive
34
protected void Page_Load(object sender, EventArgs e)
if (!IsPostBack)
[Link] = "high";
SELECT
COUNT([Link]) AS TotalReviews
35
FROM Users U
GROUP BY
{orderBy}";
[Link]();
SqlDataReader dr = [Link]();
[Link] = dr;
36
[Link]();
[Link]();
[Link]("[Link]?UserID=" + userId);
37
if (halfStar)
return html;
using System;
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
38
namespace skillhive
if (!IsPostBack)
if ()
LoadWorkerDetails(userId);
LoadWorkerReviews(userId);
39
private void LoadWorkerDetails(string userId)
[Link]("@UserID", userId);
[Link]();
SqlDataReader dr = [Link]();
if ([Link]())
[Link] = dr["FullName"].ToString();
[Link] = dr["Profession"].ToString();
[Link] = dr["Phone"].ToString();
[Link] = dr["Email"].ToString();
40
[Link] = dr["WorkStatus"].ToString();
[Link] = dr["Gender"].ToString();
[Link] = dr["AvailableTime"].ToString();
[Link] = dr["Experience"].ToString();
[Link] = dr["AboutMe"].ToString();
[Link] = dr["ProfilePic"].ToString();
if ()
[Link] = img;
[Link]["width"] = "120px";
[Link]["height"] = "100px";
41
[Link]["object-fit"] = "cover";
[Link](imgControl);
[Link]();
[Link]("[Link]?UserID=" + userId);
42
SELECT [Link], [Link], [Link] AS ClientName
FROM Reviews R
[Link]("@WorkerID", workerId);
[Link](dt);
[Link] = dt;
[Link]();
if ([Link] > 0)
43
[Link] = GetStarsHtml(avg);
[Link] = [Link]();
else
[Link] = "0";
[Link] = "";
44
html += "<i class='fas fa-star text-warning'></i>";
if (hasHalf)
return html;
BOOK WORKERS:
using System;
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
using [Link];
45
namespace skillhive
if (!IsPostBack)
[Link]("[Link]");
return;
if ()
LoadWorkerDetails(workerId);
46
}
else
[Link]("@UserID", userId);
[Link]();
SqlDataReader dr = [Link]();
if ([Link]())
47
[Link] = dr["FullName"].ToString();
[Link] = dr["Profession"].ToString();
[Link] = dr["FullName"].ToString();
[Link] = dr["ProfilePic"].ToString();
[Link]();
if ([Link](clientId) || [Link](workerId))
48
return;
if ([Link](preferredDate) ||
[Link](preferredTime))
return;
[Link]("@ClientID", clientId);
[Link]("@WorkerID", workerId);
[Link]("@PreferredDate", preferredDate);
[Link]("@PreferredTime", preferredTime);
49
[Link]("@Message", message);
[Link]("@Status", "Pending");
[Link]();
[Link]();
[Link]();
[Link] = true;
[Link] = false;
9. SAMPLE SCREENSHOTS
HOME:
50
CLIENT/WORKER LOGIN:
51
CLIENT/WORKER REGISTER:
52
ADMIN LOGIN:
53
CLIENT DASHBOARD:
54
VIEW/EDIT CLIENT PROFILE:
55
SEARCH WORKERS:
56
VIEW WORKER DETAILS:
57
BOOK REQUEST TO WORKER:
58
VIEW MY REQUEST:
59
RATING WORKER:
60
VIEW ALL PAST REVIEWS:
61
CHAT WITH WORKERS:
62
WORKER DASHBOARD:
63
UPDATE PROFILE:
64
VIEW JOB REQUESTS:
65
VIEW ALL JOBS:
66
CHAT WITH CLIENTS:
67
ADMIN DASHBOARD:
68
MANAGE WORKERS:
69
MANAGE CLIENTS:
70
10. CONCLUSION
The SkillHive project is a useful platform that connects skilled workers with clients who need
their services. It makes the process of finding, booking, and working with skilled people much
easier through an online system. With features like job posting, worker profiles, booking, and
feedback, it helps both clients and workers.
Overall, SkillHive is a helpful system that supports local workers and makes service booking
faster and easier for everyone.
FUTURE ENHANCEMENTS:
71
1. Mobile Application Integration: Developing a mobile app version of SkillHive will make it
easier for both clients and workers to access services on the go. This increases convenience and
helps reach users who prefer mobile usage over desktop.
2. Multi-Language Support: Adding regional language options will make the platform more user-
friendly and inclusive, especially for workers and clients in rural or non-English-speaking areas.
4. Data Analytics and Reporting: Introducing analytics tools to track service demand, job
completion rates, and user activity can help the admin make informed decisions, predict trends,
and improve platform performance.
6. Cloud-Based Hosting: Hosting the SkillHive platform on a cloud service can provide better
performance, centralized data access, easier updates, and scalability to expand across multiple
cities or regions.
8. Rating and Feedback Moderation: Introducing smart moderation tools for reviews can ensure
feedback remains fair and constructive, avoiding misuse or bias.
72
BIBLIOGRAPHY
REFERENCE BOOKS
3. "Pro C# 10 and the .NET 6 Platform" by Andrew Troelsen and Philip Japikse, 2022
6. "Front-End Web Development: The Big Nerd Ranch Guide" by Chris Aquino and Todd
Gandee, 2016
73
WEBSITES REFERRED
3. C# Corner – [Link]
5. ConnectionStrings – [Link]
6. GeeksforGeeks – [Link]
74