Professional Documents
Culture Documents
By
BACHELOR DEGREE
IN
COMPUTER SCIENCE
August 2023
I
II
DECLARATION
This project, a die-hard work, is carried out by Sajid Ali khan and Mohsin Raza under the supervision of
Mr. Khurram Shahzad (Co-coordinator, Computer Science Department,) GC University, Faisalabad,
Pakistan.
We feel please to declare that the “E-Lance Shop” and contents of this project is the productive result of
our hardworking, studies and research and no part of this is copied from any published source. This work
has been conducted under the practical atmosphere of our studies not for the award of any other degree /
diploma. The University may take action if the information provided is found guilty at any stage.
Signatures of Student
Mohsin Raza
Registration#: 2019-GCUF-080926
Sajid Ali Khan
Registration#: 2019-GCUF-080607
III
ACKNOWLEDGEMENT
All praise to Almighty Allah who gave us the understanding, courage and patience to complete this project.
Thanks to our parents and all the well-wishers who helped us during our most difficult times and it is due
to their untiring efforts that we are at this position today. We express our gratitude to our kind teachers Dr.
Bushra Zafar, Sir Khurram Shahzad and Sir Muhammad Usman for providing us opportunity to learn
and enhance our knowledge. These are been ready to help and guide us throughout the project in any way
possible.
Mohsin Raza
Registration#: 2019-GCUF-080926
IV
Dedication
“Dedicated…
To the Holy Prophet (PBUH) “The Mohsin” of whole community,
To our beloved parents who blessed us with their wisdom and they are always there when we need them
the most. They guided us throughout and supported us through all the hardships of life.
To our teachers who shared with us their experience and knowledge.
And
To our friends from their good will and company we enjoyed every single moment of our education and
university life”
Mohsin Raza
Registration#: 2019-GCUF-080926
V
Certificate By Supervisory Committee
This is to certify that the project report entitled "E-Lance Shop" which is submitted by Mr. Mohsin Raza
Registration No. 2019-GCUF-080926, Mr. Sajid Ali khan Registration No. 2019-GCUF-080607 has
been examined by the undersigned as a part of the examination for the award of the degree of Bachelor of
Computer Science from Government College University Faisalabad, Pakistan.
Internal Examiner:
Name: …………………......
Signature: ..................................
External Examiner:
Name: ..................................
Signature: ..................................
Chairperson:
Name: ..................................
Signature: ..................................
VI
Abstract
Freelancer is a term commonly used for a person who is self-employed and is not necessarily committed as
a particular employer.
The system “E-Lance Shop” will be a totally dynamic web-based application; there are three main
modules in this system namely Admin, Employee and a Freelancer section.
The Admin has all the privileges and controls of the system and can keep an eye to the freelancers and
employees and can check the progress of the allotted projects to the freelancers along with the report.
In Freelancer section, users can first registered themselves and login with their account credentials and can
see/search jobs on their timelines related to their skillset and they can also create a package/Gig according
to their skillset.
In Employee section, the user can first registered themselves as an employee and after login they can post
their projects with all the skillset requirements and budget of the project and they also search their required
skillset freelancer and can purchase their package/Gig.
VII
Table of Contents
List of Tables...............................................................................................................................................VII
Chapter No 1:...................................................................................................................................................1
1.1 Introduction:..................................................................................................................................2
E-lance Shop helps growing businesses find and work with top-notch talent and agencies. It's
simple to get started: Just sign up, post your project, then review proposals to find the right
independent contractor or agency for you.......................................................................................3
Profile creation:..........................................................................................................................6
Job search:..................................................................................................................................6
Application submission:.............................................................................................................6
Communication:.........................................................................................................................6
Project management:..................................................................................................................6
Service listing:...........................................................................................................................7
Creating listings for services offered, with descriptions, pricing, and turnaround time..................7
Proposal submission:.................................................................................................................7
Responding to job listings by submitting proposals that outline how the freelancer can fulfill the
client's needs....................................................................................................................................7
Communication:.........................................................................................................................7
Project management:..................................................................................................................7
Setting up payment methods, sending invoices, and receiving payments for completed work.......7
1.2 Background:...................................................................................................................................8
1.3 Purpose:.........................................................................................................................................8
Networking Opportunities:................................................................................................................9
Freelance Platforms:..........................................................................................................................9
Work-Life Balance:...........................................................................................................................9
Access to Marketplaces:....................................................................................................................9
Supportive Communities:................................................................................................................10
Remote Work:.................................................................................................................................11
Flexible Hours:................................................................................................................................11
1.4 Scope:..........................................................................................................................................14
User Profiles:.................................................................................................................................................16
Profile Information: Provide users with a space to fill in personal details like name, profile
picture, bio, location, and other relevant information....................................................................16
Customization: Allow users to personalize their profiles by choosing themes, colors, and
other visual elements......................................................................................................................16
Privacy Settings: Let users control the visibility of their profile information to the public,
friends, or specific groups..............................................................................................................16
Activity Feed: Display users' recent activities, such as posts, comments, and interactions, on
their profiles...................................................................................................................................16
Followers/Following: Implement a system where users can follow other users and see who
follows them. This is common in social media platforms.............................................................16
Activity History: Allow users to view their past interactions, posts, comments, and other
contributions..................................................................................................................................16
Editing and Updating: Enable users to edit and update their profile information whenever
they want........................................................................................................................................16
X
User Interactions: Enable users to send messages, likes, comments, and other interactions to
other users' profiles........................................................................................................................16
Considerations:..............................................................................................................................................16
Data Security: Ensure that user data, especially sensitive information like passwords, is
stored securely using encryption and best practices......................................................................17
GDPR Compliance: If applicable, adhere to GDPR and other data protection regulations
when handling user data.................................................................................................................17
Accessibility: Design user registration and profile features with accessibility in mind, making
them usable for individuals with disabilities.................................................................................17
User Experience (UX): Make the registration and profile setup process intuitive and
straightforward, guiding users through each step..........................................................................17
Scalability: Design your system to handle a large number of registered users and profiles
without significant performance issues..........................................................................................17
Maintenance: Regularly update and maintain the registration and profile systems to fix bugs,
add new features, and ensure security............................................................................................17
User registration and profiles are crucial for fostering user engagement, personalization, and
community-building within your platform....................................................................................17
1.5 Objective:.....................................................................................................................................18
1.6.3 Formatting:.......................................................................................................................21
1.6.4 Versioning:.......................................................................................................................21
XII
1.8.4 Database Schema and Data Dictionary:...........................................................................23
Conclusion:....................................................................................................................................24
CHAPTER-2..................................................................................................................................................25
2.1 Introduction:................................................................................................................................26
2.1.1 Purpose:............................................................................................................................26
2.1.3 Scope:...............................................................................................................................26
2.1.5 Objectives:........................................................................................................................26
2.1.8 Constraints:.......................................................................................................................27
XIII
2.3.7 Communication and Notifications:...................................................................................30
2.4.1 Performance:.....................................................................................................................31
2.4.2 Security:............................................................................................................................31
2.4.3 Reliability:........................................................................................................................31
2.4.4 Usability:..........................................................................................................................31
2.4.5 Compatibility:...................................................................................................................31
2.5 Stakeholders:...............................................................................................................................32
2.5.1 Admin:..............................................................................................................................32
2.8.1 Security:............................................................................................................................36
2.8.2 Usability:..........................................................................................................................36
Importance of Usability:................................................................................................................36
Usability is crucial because it directly impacts user satisfaction, engagement, and the success of a
product. A usable product reduces user frustration, increases efficiency, and can even lead to
better brand perception and customer loyalty. In contrast, poor usability can lead to user
abandonment, decreased productivity, and negative reviews........................................................36
Designers and developers strive to create products that prioritize usability to ensure that users can
easily achieve their goals and have a positive experience.............................................................36
2.8.3 Reliability:........................................................................................................................36
2.8.4 Performance:.....................................................................................................................37
CHAPTER-3..................................................................................................................................................38
XIV
ANALYSIS....................................................................................................................................................38
Certificate Issuance................................................................................................................................46
Submit Proposals...................................................................................................................................49
CHAPTER-4..................................................................................................................................................56
DESIGN.........................................................................................................................................................56
CHAPTER-5..................................................................................................................................................64
XV
TESTING.......................................................................................................................................................64
5.1.8 Footer:...............................................................................................................................70
CHAPTER-6..................................................................................................................................................73
6.6 Security:.......................................................................................................................................75
XVI
6.7 Conclusion:..................................................................................................................................75
List of Tables
Table 2.7 Manage Freelancer.........................................................................................................................18
Table 2.7: Manage Freelancer........................................................................................................................19
Table 2.7: Manage Freelancer........................................................................................................................20
Table 3.2: Login Process................................................................................................................................25
Table 3.2: View Details of FRLs...................................................................................................................26
Table 3.2: Remove/Suspend FRLs.................................................................................................................27
Table 3.2: Check & Balance..........................................................................................................................28
Table 3.2: View Details of EMPs..................................................................................................................29
Table 3.6: Certificate Issuance.......................................................................................................................30
Table 3.7: View Projects on Timeline...........................................................................................................31
Table 3.2: Search Projects through System...................................................................................................32
Table 3.2: Submit Proposal............................................................................................................................33
List of Figure
XVIII
Chapter No 1:
1
1.1 Introduction:
Freelancer is a term commonly used for a person who is self-employed and is not necessarily
committed as a particular employer.
The system “E-Lance Shop” will be a totally dynamic web-based application; there are three main
modules in this system namely Admin, Employee and a Freelancer section.
The Admin has all the privileges and controls of the system and can keep an eye to the freelancers
and employees and can check the progress of the allotted projects to the freelancers along with the
report.
In Freelancer section, users can first registered themselves and login with their account credentials
and can see/search jobs on their timelines related to their skillset and they can also create a
package/Gig according to their skillset.
In Employee section, the user can first registered themselves as an employee and after login they
can post their projects with all the skillset requirements and budget of the project and they also
search their required skillset freelancer and can purchase their package/Gig.
The main purpose of this “E-Lance Shop” is to develop a unique system that will be different from
other freelancing platforms and if a user/freelancer may have Hardware skills are also allow to this
marketplace and they can also create their packages and easily use the platform.
E-Lance Shop is a cutting-edge, dynamic web-based application designed to revolutionize the way
freelancers, employees, and administrators interact and collaborate in the modern workplace. In
today's fast-paced and ever-changing job market, the concept of traditional employment is evolving
rapidly. E-Lance Shop recognizes the growing trend of self-employment and the need for
flexibility, empowering individuals to work on their terms without being tied to a specific
employer.
This innovative system comprises three integral modules: the Admin, Employee, and Freelancer
sections. Each module plays a distinct role in ensuring seamless operations and efficient
communication within the platform.
In today's rapidly evolving professional landscape, the rise of freelancing has reshaped the way
individuals offer and seek services. The "E-Lance Shop" project emerges as a solution to address
the needs of both freelancers and employers by providing a dynamic, web-based platform that
facilitates seamless collaboration, project management, and communication. With the advent of
digital connectivity and remote work trends, the "E-Lance Shop" platform emerges as a promising
hub, offering a dynamic ecosystem for freelancers, employees, and employers to interact and
transact efficiently.
The traditional concept of employment is undergoing a transformation as more individuals opt for
freelancing to leverage their skills, expertise, and flexible work arrangements. Simultaneously,
employers are seeking qualified professionals to undertake specific tasks, projects, or assignments.
This shift has created a demand for platforms that bridge the gap between freelancers and
employers, providing a secure and user-friendly environment to connect, collaborate, and achieve
mutual goals.
2
1.1.2 Project Overview:
The "E-Lance Shop" project is a comprehensive web-based freelancing platform designed to cater
to the diverse needs of users in the modern workforce. This platform seeks to provide a reliable
marketplace where freelancers can showcase their talents and services while employers can find the
right expertise for their projects. With an intuitive interface and a suite of robust features, the
platform aims to enhance the freelancing experience, empowering users to engage in meaningful
professional relationships.
The fundamental unit of such an economy is not the corporation but the
individual. Tasks aren’t assigned and controlled through a stable chain of management but rather
are carried out autonomously by independent contractors. These electronically connected
freelancers—e-lancers—join together into fluid and temporary networks to produce and sell goods
and services. When the job is done—after a day, a month, a year—the network dissolves, and its
members become independent agents again, circulating through the economy, seeking the next
assignment.
Far from being a wild hypothesis, the e-lance economy is, in many ways, already upon
us. We see it not only in the development of Linux but also in the evolution of the Internet itself.
We see it in the emergence of virtual companies, in the rise of out-sourcing and telecommuting, and
in the proliferation of freelance and temporary workers. Even within large organizations, we see it
in the increasing importance of ad-hoc project teams, in the rise of “Intrapreneurs,” and in the
formation of independent business units.
All these trends point to the devolution of large, permanent
corporations into flexible, temporary networks of individuals. No one can yet say exactly how
important or widespread this new form of business organization will become, but judging from
current signs, it is not inconceivable that it could define work in the twenty-first century as the
industrial organization defined it in the twentieth. If it does, business and society will be changed
forever.
Facilitate Collaboration:
The platform will enable freelancers and employers to
collaborate seamlessly, irrespective of geographical barriers. This fosters a global community
of professionals who can collectively contribute to projects and initiatives.
3
Users can conveniently manage projects from
inception to completion, tracking progress, setting milestones, and communicating effectively
within the platform. This enhances transparency and ensures project deadlines are met.
Secure Financial Transactions:
The project will incorporate secure payment
gateways, ensuring that freelancers are compensated for their services promptly and
employers can confidently initiate transactions.
Build a Trustworthy Network:
Through features such as user reviews and ratings, the
platform cultivates a culture of trust and credibility, helping users make informed decisions
when engaging with potential collaborators.
Enhance User Experience:
The project will prioritize an intuitive user interface,
responsive design, and real-time communication features, making it user-friendly across
devices and empowering users to navigate the platform effortlessly.
Connecting Buyers and Sellers:
The primary objective would likely be to create a
space where buyers and sellers can easily find each other, promoting a mutually beneficial
transactional relationship.
Variety and Diversity:
Offering a diverse range of products or services from different
categories and industries could attract a wider range of customers and keep the platform
engaging.
Seller Empowerment:
Supporting sellers with tools and resources to manage their
online presence effectively, set up their shops, and optimize their listings could be an
objective.
Customer Support:
Providing responsive customer support to address any issues,
concerns, or inquiries from both buyers and sellers is essential for maintaining a positive user
experience.
Feedback and Improvement:
E-lance shop might seek continuous improvement based
on user feedback. Regularly updating and enhancing the platform based on user needs and
technological advancements could be a key objective.
Promotion and Marketing:
Attracting both buyers and sellers to the platform would
likely involve marketing efforts, such as online advertising, social media engagement, and
partnerships.
The "E-Lance Shop" platform boasts an array of features tailored to meet the diverse needs of its
users:
4
User Profiles:
Freelancers and employers can create profiles showcasing their skills, expertise,
and portfolios, allowing them to present a comprehensive picture of their capabilities.
Job Posting and Browsing:
Employers can post job opportunities, including project
descriptions, requirements, and budgets. Freelancers can browse through listings to find
projects aligned with their expertise.
Application and Selection:
Freelancers can submit proposals for projects they find appealing,
while employers can review these proposals and select the best fit for their requirements.
The Admin module is the backbone of the E-Lance Shop system. It is specifically
designed for administrators, managers, and employers to oversee and control the platform's
functionalities. Administrators have the authority to manage user accounts, track project progress,
facilitate payments, and ensure compliance with company policies. With an intuitive and user-
friendly interface, the Admin module empowers administrators to maintain transparency, enforce
security measures, and streamline processes across the platform. Some functionalities of the admin
module might include:
User management:
Content management:
Payment management:
Moderation:
Ensuring that content posted on the platform adheres to guidelines and policies.
Platform settings:
Profile creation:
Job search:
Application submission:
Communication:
Project management:
6
1.1.7 Freelancer Module:
The Freelancer module is the heart of the E-Lance Shop system, catering to self-
employed professionals who thrive on independence and autonomy. Freelancers can showcase their talents,
expertise, and portfolio through personalized profiles, making it easier for employers to find and
collaborate with them. With a vast array of projects posted by employers, freelancers have the freedom to
choose assignments that best match their interests and abilities. Moreover, the platform offers secure and
reliable payment channels, ensuring timely compensation for freelancers' hard work and dedication.
Profile setup:
Service listing:
Creating listings for services offered, with descriptions, pricing, and turnaround time.
Proposal submission:
Communication:
Project management:
Setting up payment methods, sending invoices, and receiving payments for completed work.
User-Friendly Interface:
7
The system boasts an intuitive interface that is easy to navigate for both
employers and freelancers, ensuring a seamless user experience.
Project Tracking and Management:
Employers can efficiently track project progress and
communicate with freelancers to ensure smooth collaboration and successful project completion.
Secure Payment System:
E-Lance Shop provides a secure payment system, safeguarding the
interests of both employers and freelancers, and facilitating seamless and timely transactions.
Diverse Project Opportunities:
The platform offers a wide range of projects across various
industries, enabling freelancers to explore new challenges and expand their professional horizons.
E-Lance Shop represents the future of employment, promoting flexibility, collaboration, and
transparency in the world of work. Whether you're an employer seeking skilled professionals or a
freelancer looking for exciting projects, E-Lance Shop has the tools and resources to empower your
journey towards success.
1.2 Background:
The concept of freelancing and self-employment has been rapidly growing and evolving
in recent years. With the advent of the internet and advancements in technology, online platforms
have emerged to connect employers and clients with freelancers worldwide. Platforms like Upwork,
Freelancer.com, Fiverr, and many others have become popular marketplaces for freelancers to offer
their services and for employers to find skilled professionals for various projects.
The background of such a fictional system like "E-Lance Shop" could be inspired by the real-world
trends and challenges faced by the gig economy and remote work culture. The system could be
imagined to address the need for a secure, transparent, and user-friendly platform that empowers
freelancers to find suitable projects and employers to connect with talented professionals
effectively. Additionally, the dynamic nature of the system could represent the agility required to
adapt to the ever-changing demands of the modern job market.
In conclusion, while the specific application "E-Lance Shop" does not exist as of my last update, it
reflects the ongoing shift towards freelance and remote work arrangements and the potential for
innovative platforms to facilitate better interactions and opportunities in this domain.
1.3 Purpose:
The purpose of the "E-Lance Shop" system is to create a dynamic and user-friendly web-
based application that caters to the evolving needs of the modern job market, specifically focusing
on freelancers, employees, and administrators. The system aims to serve multiple purposes,
benefiting each user group:
8
Here are some ways to empower freelancers:
Networking Opportunities:
Freelance Platforms:
Work-Life Balance:
Access to Marketplaces:
9
Connecting freelancers with broader marketplaces can expand their client
base. This could involve showcasing their work on platforms, attending industry-specific events,
and using social media effectively.
Supportive Communities:
Equipping freelancers with the necessary tools for remote work, such as
communication and project management platforms, can enhance their efficiency and collaboration
with clients.
Empowering freelancers requires a holistic approach that addresses their various needs, from professional
development to financial security and well-being. By offering a supportive environment and valuable
resources, freelancers can thrive in their independent careers.
10
Here are some key aspects and strategies related to facilitating flexible employment:
Remote Work:
Allowing employees to work from locations outside the traditional office, often
enabled by technology and internet connectivity.
Flexible Hours:
Allowing employees to choose their work hours within certain limits, which can be
especially beneficial for those with varying commitments or preferences.
Job Sharing:
Increased Productivity:
Flexibility can lead to higher motivation and focus during work hours.
Employers can tap into a diverse range of skills and talents from different
locations.
Remote work eliminates the need for daily commutes, saving time
and reducing stress.
Cost Savings:
Reduced office space and overhead costs for employers and potentially reduced
commuting costs for employees.
11
Implement tools and practices that facilitate communication
and collaboration among remote or flexible workers.
Performance Measurement:
Focus on outcomes rather than strict hours worked, and establish clear
performance metrics.
Inclusivity:
Ensure that flexible arrangements are accessible and inclusive to all employees,
regardless of their roles or backgrounds.
Cloud Services:
Virtual Meetings:
Develop clear and inclusive policies that outline the various flexible work
options available to employees.
Approval Process:
Trial Periods:
Implement trial periods for new flexible arrangements to assess their feasibility and
impact.
12
6. Leadership and Management:
Results-Oriented Management:
Labor Laws:
Ensure that flexible work arrangements comply with labor laws and regulations in the
relevant jurisdictions.
Data Privacy:
In conclusion, facilitating flexible employment involves creating an environment that supports a variety of
work arrangements, ultimately leading to increased job satisfaction, productivity, and adaptability in a
rapidly changing work landscape. Both employers and employees can benefit from a well-implemented
flexible work strategy that takes into account communication, technology, policies, and management
practices.
13
1.3.5 Driving Innovation and Efficiency:
In summary, the purpose of the "E-Lance Shop" system is to create a comprehensive and inclusive
platform that revolutionizes how freelancers, employees, and employers interact in the modern
workplace. By providing a secure and dynamic ecosystem, it aims to empower individuals,
facilitate flexible work arrangements, and promote seamless collaboration in an ever-evolving job
market.
1.4 Scope:
The scope of the "E-Lance Shop" project encompasses the development and implementation of
a fully functional, web-based application with three main modules: Admin, Employee, and
Freelancer. The project aims to create a comprehensive platform that facilitates seamless interaction
and collaboration between freelancers, employees, and employers. The scope includes the following
key aspects:
User Registration:
Sign-Up Form: Users provide necessary information such as username, email, password, and any
other relevant details.
Email Verification: After signing up, users receive a verification email containing a link to confirm
their email address. This step helps ensure the validity of user accounts.
14
CAPTCHA or reCAPTCHA: Implement these security measures to prevent automated bots from
creating fake accounts.
Two-Factor Authentication (2FA): Offer an optional layer of security where users enter a
verification code from their mobile device in addition to their password.
Social Media Integration: Allow users to sign up or log in using their social media accounts like
Facebook, Google, or Twitter.
Privacy and Terms of Service: Ensure users agree to your platform's terms of service and privacy
policy during the registration process.
15
User Profiles:
Profile Information: Provide users with a space to fill in personal details like name, profile
picture, bio, location, and other relevant information.
Customization: Allow users to personalize their profiles by choosing themes, colors, and other
visual elements.
Privacy Settings: Let users control the visibility of their profile information to the public, friends,
or specific groups.
Activity Feed: Display users' recent activities, such as posts, comments, and interactions, on their
profiles.
Followers/Following: Implement a system where users can follow other users and see who follows
them. This is common in social media platforms.
Activity History: Allow users to view their past interactions, posts, comments, and other
contributions.
Editing and Updating: Enable users to edit and update their profile information whenever they
want.
Account Deactivation/Deletion: Provide options for users to deactivate or delete their accounts if
they choose to.
User Interactions: Enable users to send messages, likes, comments, and other interactions to other
users' profiles.
Considerations:
16
Data Security: Ensure that user data, especially sensitive information like passwords, is stored
securely using encryption and best practices.
GDPR Compliance: If applicable, adhere to GDPR and other data protection regulations when
handling user data.
Accessibility: Design user registration and profile features with accessibility in mind, making them
usable for individuals with disabilities.
User Experience (UX): Make the registration and profile setup process intuitive and
straightforward, guiding users through each step.
Scalability: Design your system to handle a large number of registered users and profiles without
significant performance issues.
Maintenance: Regularly update and maintain the registration and profile systems to fix bugs, add
new features, and ensure security.
User registration and profiles are crucial for fostering user engagement, personalization, and community-
building within your platform.
17
1.4.5 Secure Payment System:
1.5 Objective:
The objectives of the "E-Lance Shop" project are the specific and measurable goals that
the development and implementation of the web-based application aim to achieve. These objectives
focus on the desired outcomes and benefits for all stakeholders involved. The primary objectives of
the project include:
18
1.5.1 Facilitate Seamless Collaboration:
19
1.5.7 Cater to Remote Work Culture:
Overall, the primary objectives of the "E-Lance Shop" project revolve around creating a
comprehensive, secure, and user-friendly platform that empowers freelancers, enhances
collaboration, and embraces the evolving landscape of modern work.
Use descriptive and meaningful names for documents, files, and folders to facilitate easy
identification and organization. For example, "Software_Requirement_Specification.docx" for the
Software Requirement Specification document.
Use consistent naming conventions for variables, functions, classes, and other code elements in the
source code to improve code readability and maintainability.
20
1.6.2 Document Structure:
Follow a standardized structure for all project documents, including cover page, table of contents,
introduction, main sections, and appendices.
Use headings and subheadings with consistent formatting to provide clarity and hierarchy in the
content.
1.6.3 Formatting:
Use a consistent font type and size (e.g., Arial or Times New Roman, 12 pt) for the entire
document.
Apply appropriate formatting for text, such as bold, italics, and underline, to highlight important
information.
Use bullet points or numbered lists for items that require enumeration or step-by-step instructions.
1.6.4 Versioning:
Implement version control for all project documents to keep track of revisions and updates.
Clearly indicate the version number and date of each document to identify the latest version.
Provide a glossary or list of acronyms and abbreviations used in the project documents for easy
reference and understanding.
Cite external sources, references, and research materials used in the project, adhering to a specific
citation style (e.g., APA, MLA).
Include a bibliography or reference section at the end of relevant documents.
Follow code commenting conventions to document functions, classes, and complex logic to aid in
code comprehension.
Use consistent indentation and code formatting to improve code readability.
Use a standardized format for error messages, notifications, and alerts throughout the project.
Clearly define error codes and their meanings for ease of troubleshooting and debugging.
21
1.6.9 User Interface (UI) Guidelines:
Adhere to UI design guidelines, including consistent color schemes, button styles, typography, and
spacing, for a cohesive user experience.
Implement a change management process to track modifications and updates to project documents
and code.
Software developers, programmers, and engineers responsible for designing, coding, and testing the
platform.
22
1.7.7 Stakeholders and Clients:
By following these reading suggestions, stakeholders can access the specific project documents that
align with their roles and responsibilities, making the "E-Lance Shop" project development process
more efficient and effective.
Conclusion:
The "E-Lance Shop" project symbolizes a new era in freelancing and project collaboration. By
creating a virtual ecosystem that connects freelancers, employees, and employers, this project
addresses the evolving needs of the modern workforce. The platform's intuitive design, robust
features, and secure infrastructure pave the way for a dynamic and thriving freelancing community,
fostering meaningful professional partnerships and fostering innovation across industries. As the
project embarks on its journey, the "E-Lance Shop" platform is poised to become an indispensable
tool for professionals seeking opportunities and employers searching for top-tier expertise.
24
CHAPTER-2
25
2.1 Introduction:
The Software Requirement Specification (SRS) outlines the functional and non-
functional requirements for the development of the E-Lance Shop, a web-based freelancing
platform. The platform aims to connect freelancers, employees, and employers, providing a
dynamic and user-friendly environment for seamless collaboration and project management.
2.1.1 Purpose:
The purpose of this SRS is to define the features, functionalities, and constraints of the E-
Lance Shop platform. It serves as a reference document for developers, designers, and stakeholders
involved in the project to understand the system's scope and requirements.
2.1.3 Scope:
The E-Lance Shop platform will consist of three main modules: Admin, Employee, and
Freelancer. Each module will have specific functionalities catering to its respective user group. The
platform will allow users to register, create profiles, post and apply for jobs, manage projects,
communicate, and make secure payments.
2.1.5 Objectives:
26
Offer a seamless payment gateway for secure financial transactions between employers and
freelancers.
Ensure data security, privacy, and protection of user information.
2.1.8 Constraints:
The platform will be developed using a combination of front-end technologies (HTML, CSS,
JavaScript) and back-end technologies (e.g., .NET).
Security measures will be implemented to safeguard user data and privacy.
Compatibility will be ensured with modern web browsers (Chrome, Firefox, Safari, Edge).
The platform will follow industry best practices for responsiveness and user experience
The platform interacts with users via their web browsers, supporting a responsive design for
various devices.
27
External payment gateways are integrated for secure financial transactions.
Dependencies:
The platform relies on stable internet connections for users to access and utilize its
functionalities.
External payment gateways must be operational for payment processing.
Employee:
Users seeking traditional employment opportunities will have access to job listings and
the ability to apply for relevant roles.
Role:
Seeks traditional employment opportunities.
Responsibilities:
Browses and applies for job listings, communicates with potential employers.
Characteristics:
Focuses on finding suitable employment based on qualifications and skills.
Freelancer:
Independent professionals will create profiles showcasing their skills and expertise, and
they can browse and apply for various projects.
Role:
Offers skills and services to employers.
Responsibilities:
Creates a profile showcasing skills, applies for projects, collaborates with
employers.
Characteristics:
Emphasizes project application and efficient communication for successful
collaboration.
28
2.2.3 Operating Environment:
The E-Lance Shop platform will run on modern web browsers (e.g.,
Chrome, Firefox, Safari) and support a responsive design for desktops, tablets, and smartphones.
Web Browsers:
The platform is accessible via modern web browsers
(e.g., Chrome, Firefox, Safari, Edge).
Responsive Design:
The platform's interface adapts to different screen sizes, ensuring usability
on desktops, tablets, and smartphones.
Back-end Technologies:
The platform's logic and functionality will be implemented using back-end technologies
like .NET or Node.js.
Security Measures: Security practices will be followed to protect user data and transactions.
Database:
The platform will utilize SQL Server for data storage and management.
Data Security: Encryption and proper access controls will be implemented to ensure data
security.
29
2.3.2 User Profile Management:
Users shall be able to rate and review each other based on their
experiences, contributing to a reputation system that fosters trust and credibility.
30
2.3.9 Dispute Resolution:
The platform shall have a response time of less than 2 seconds for most user
interactions.
The system shall handle a significant number of simultaneous users without degradation in
performance.
2.4.2 Security:
The system shall implement encryption for sensitive user data, such as passwords and
payment information.
The platform shall have measures in place to prevent unauthorized access and protect against
common security threats.
2.4.3 Reliability:
2.4.4 Usability:
The user interface shall be intuitive, user-friendly, and accessible to users of varying
technical expertise.
The platform shall follow responsive design principles for seamless user experience across different
devices.
2.4.5 Compatibility:
The platform shall be compatible with popular web browsers, including the latest
versions of Chrome, Firefox, Safari, and Edge.
31
2.5 Stakeholders:
2.5.1 Admin:
The administrator, often referred to as the "Admin," plays a pivotal role in the functioning of
a freelancing platform. In the dynamic world of online freelancing, the Admin serves as the
backbone of the platform, responsible for overseeing and managing its operations to ensure a
seamless and efficient user experience.
As the central authority of the freelancing platform, the Admin wields significant control and
responsibility in maintaining the integrity, security, and overall success of the system. They are the
key decision-maker and have access to critical administrative tools that enable them to manage
various aspects of the platform. The Admin's role can be multifaceted and encompasses a wide
range of responsibilities.
32
Requirement Name: Security Login Management
Table 2.7 Manage Freelancer
Req01 Functional
Requirement #: Requirement Type:
Users can enter the system by entering the username and password. The
username should be Unique. Authentication should be provided and the
Description: suitable access of the system should be given according to privileges
Rationale:
Fit Criterion:
9 1
Customer Customer
Satisfaction: Dissatisfaction:
1 Nil
Priority: Conflicts:
Supporting NA
Materials:
33
Requirement Name: Manage Employee
Table 2.7: Manage Freelancer
Req02 Functional
Requirement #: Requirement Type:
Admin can view detail report of EMPs. Remove or temporarily suspend
accounts of EMPs. Admin can issue a certification to the employee on
Description: request.
To manage Employee
Rationale:
Fit Criterion:
8 2
Customer Customer
Satisfaction: Dissatisfaction:
2 Nil
Priority: Conflicts:
Supporting NA
Materials:
34
Requirement Name: Manage Freelancer
Table 2.7: Manage Freelancer
Req03 Functional
Requirement #: Requirement Type:
Admin can view detail report of FRLs. Remove or temporarily suspend
accounts of FRLs. Keep an eye track on the performance of FRLs.
Description:
To manage Freelancer
Rationale:
Fit Criterion:
8 2
Customer Customer
Satisfaction: Dissatisfaction:
3 Nil
Priority: Conflicts:
Supporting NA
Materials:
35
2.8 Non-Functional Requirements:
2.8.1 Security:
The system requires the users to identify themselves by using login-id and password. Any
user who uses the system shall have a login-id and a password. security is a dynamic field that
constantly evolves to address new threats and challenges. It requires a multi-layered approach that
combines technology, processes, and people to create a secure environment.
2.8.2 Usability:
With proper guidance and use of manuals and instructions the users will be easily use the
functionality of the system to achieve his/her goal.
Importance of Usability:
Designers and developers strive to create products that prioritize usability to ensure that users can easily
achieve their goals and have a positive experience.
2.8.3 Reliability:
Availability:
The system facility will be available to its users for 24 hours.
Bugs or defect rate:
Very little.
Robustness:
Our system will generate appropriate exceptions and will handle those exceptions
effectively.
Accuracy:
The system will generate accurate results and will behave according to the User
Requirements.
Correctness:
Our system will be according to all the requirements collected. All the
requirements will be met to the User Requirements.
36
2.8.4 Performance:
The “E-Lance Shop” has a simple GUI, which is self-explanatory and user friendly
The lists, reports and results generated by the system will not take more than 2-3 sec also depends
on internet speed.
Responses to queries shall take no longer than 4-5 sec to load onto the screen after the user
submits the query, internet speed will effect.
The system shall display confirmation messages to user within 1-2 sec after the user submits
information to the system. In other words robustness is maintained.
Resources Required:
RUP will be used for the design purposes and UML will be used for the
diagrams in MS Visio. C# language will be used for the development and for the database side
Microsoft SQL server will be used. So, we must be familiar with these constraints.
Detailed System manuals are given in the system the users can easily read the
instructions and can use the system efficiently so that the users understands the system fully and can
get the maximum benefit from the system.
User Interfaces:
The user interfaces will be friendly because they will be made after discussion
with the end users. The software will be interactive and self-explanatory.
Hardware Interfaces:
The system will interact with the printer if the user wants to print the
reports.
Software Interfaces:
37
2.8.8 Licensing requirements:
CHAPTER-3
ANALYSIS
38
39
3.1 Use Case Model:
Figure 3.1: Use Case Model
“E-Lance Shop”
40
3.2 Dressed Format of Use Case:
UC # 01 Ref: Req. # 1
Description This use case describes that how a user will Login into a system
Stakeholders <Administrator><FRL><EMPs>
2. System processes
information from the database
3. System processes
information and confirmation
message is shown to the user
If user leave any blank field –System will prompt to “fill the
blank field”
41
Use Case Name:
UC # 02 Ref: Req. # 2
Description This use case describes how an Administrator can View Details
of FRLs.
Stakeholders Admin
Extensions If user leave any blank field –System will prompt to “fill the
blank field”
42
Use Case Name:
Remove/Suspend FRLs
Table 3.2: Remove/Suspend FRLs
UC # 03 Ref: Req. # 3
Stakeholders Administrator
Extensions User search for FRLs which doesn't exist. -System will prompt
to “FRLs Not Found”.
If user leaves the field blank. -System will prompt to “Fill the
blank field”.
43
Use Case Name:
UC # 04 Ref: Req. # 4
Description This use case describes how an Admin will Check & Balance
the FRLs.
Stakeholders Admin
Extensions User search for FRLs which doesn't exist.-System will prompt
to “FRLs Not Found”.
44
Use Case Name:
UC # 05 Ref: Req. # 5
Description This use case describes how an Administrator can View Details
of EMPs.
Stakeholders Admin
Extensions If user leaves any field blank-System will prompt to “Fill the
blank field”.
45
Use Case Name:
Certificate Issuance
Table 3.6: Certificate Issuance
UC # 06 Ref: Req. # 6
Description This use case describes how a user will issue certificates to
EMPs.
Stakeholders Administrator
Extensions User search for EMPs which doesn't exist. -System will prompt
to “EMPs Not Found”.
Extension Points: 3a- If user leaves the field blank. -System will
prompt to “Fill the blank field”.
46
Use Case Name:
UC # 07 Ref: Req. # 7
Description This use case describes how FRLs can view projects on his
timeline.
Stakeholders FRLs
Extensions User view for jobs which doesn't exist. -System will prompt to
“No job is available”.
Special requirements FRLs can see and search projects on their timeline.
47
Use Case Name:
UC # 08 Ref: Req. # 8
Description This use case describes how FRLs will Search the projects.
Stakeholders FRLs
Special requirements See & Search Projects, Freelancers see only related projects,
Particular FRLs skillset
48
Use Case Name:
Submit Proposals
Table 3.2: Submit Proposal
UC # 09 Ref: Req. # 9
Description This use case describes how a FRLs will Submit proposals.
Stakeholders FRLs
Extensions If user leaves any field blank -System will prompt to “Fill the
blank field”.
Special requirements Search & Submit Proposal, Proposals can have the detail
required field.
49
3.3 System Sequence Diagram:
<Admin><FRLs><EMPs : System
>
50
3.3.2 SSD of View Details of FRLs:
51
3.3.3 SSD of Remove/Suspends FRLs:
52
3.3.4 SSD of Remove/Suspends EMPs:
53
3.3.5 SSD of Issue Certificate to EMPs:
54
3.4 Domain Model:
55
CHAPTER-4
DESIGN
56
4.1 Design Class Diagram:
57
4.2 Entity Relationship Diagram (ERD):
58
4.3 Data Flow Diagram:
59
4.4 Activity Diagram:
60
4.5 Sequence Diagram:
61
4.6 Collaboration Diagram:
62
4.7 State Transition Diagram
63
CHAPTER-5
TESTING
64
5.1 Screen Shots:
For coding we use VS (Visual Studio) where we can edit code and run in Google Chrome as localhost.
65
5.1.2 Successfully Run:
Here the project is successfully Run and there was no error found.
66
5.1.3 Home Page Slider:
You wouldn’t think this is a slider, but it is! As you scroll down the page, each page animates, displaying a
different full screen background color, varied images and text. Homepage sliders are back! Or, should I
say, they never left in the first place.
67
5.1.4 Our Team:
In any industry where the people behind a company are as important as the company itself.
68
5.1.6 Contact Us:
69
5.1.8 Footer:
70
5.1.10 Registration Page:
71
5.1.12 Admin Dashboard:
72
CHAPTER-6
73
6.1 Programming Languages:
The "E-Lance Shop" project utilizes a variety of tools and technologies
for front-end development, back-end development, and database management. Below is a summary of the
tools and technologies employed in each aspect of the project:
HTML:
Hyper-text Markup Language is used to create the structure and content of the
web pages in the platform.
CSS:
Cascading Style Sheets are employed to style the HTML elements, ensuring the
visual presentation and layout of the platform.
Bootstrap:
Bootstrap is a popular front-end framework that provides per-designed CSS
and JavaScript components, streamlining the responsive design and development process.
jQuery:
jQuery is a JavaScript library that simplifies event handling, DOM manipulation,
and Ajax calls, enhancing the interactivity and user experience of the platform.
JavaScript :
JavaScript is used for client-side scripting, enabling dynamic and interactive
functionalities on the user's web browser.
.NET:
The back-end logic of the "E-Lance Shop" platform is built using the .NET
framework. .NET is a robust and scalable framework that enables the development of web
applications, APIs, and services.
SQL Server:
Microsoft SQL Server is used as the Relational Database Management System
(RDBMS) to store and manage the platform's data efficiently.
SQL.NET:
SQL.NET is likely a reference to the .NET Data Provider for SQL Server,
which is a component that facilitates communication between the .NET application and the
SQL Server database.
74
6.3 Integrated Development Environment:
Visual Studio:
6.6 Security:
6.6.1 Authentication and Authorization:
75
6.7 Conclusion:
These tools and technologies form the foundation of the "E-Lance Shop" project,
enabling the development team to create a robust, user-friendly, and secure freelancing platform.
Front-end technologies like HTML, CSS, Bootstrap, jQuery, and JavaScript shape the platform's
user interface and interactivity. The back-end logic is powered by the .NET framework and C#,
ensuring efficient processing and data management. SQL Server manages data storage and retrieval,
while Git supports collaborative code management. Visual Studio serves as the development
environment, and IIS facilitates deployment. The platform's security relies on authentication,
authorization, and best practices for secure coding. The careful selection and integration of these
tools and technologies are essential for delivering a high-quality and functional "E-Lance Shop"
platform to users.
76
Appendix A: User Documentation
FRL Freelancing
EMP Employee
77
Appendix B: Source Code
{ using System;
using System.Collections.Generic; public partial class UserSkill
{ public int Id { get; set; } public string UserId { get; set; } public Nullable<int>
SkillId { get; set; } public string ExperienceLevel { get; set; } public virtual
AspNetUser AspNetUser { get; set; } public virtual Skill Skill { get; set; }
}
}
78