Capstone Internship Report File Ashish
Capstone Internship Report File Ashish
Project report submitted in partial fulfillment of the requirement for the award of the Degree of
BACHELOR OF TECHNOLOGY
In
SUBMITTED BY:
ASHISH RAWAT
(Registration No.: 211302019)
Btech CSE General (7th Sem)
(Batch: 2021-2025)
Acknowledgment
I would like to express my sincere gratitude to Dr Staffy Kaur, Assistant Professor, at Shree Guru
Govind Singh Tricentenary University, for her invaluable guidance, continuous support, and
constructive feedback throughout this project. Her mentorship played a crucial role in its successful
completion. I am also thankful to the faculty members of the Department of Information Technology
and Engineering for their encouragement and assistance during various phases of this project. A
heartfelt thanks to my friends and peers for their constant motivation and helpful discussions, which
greatly contributed to the development of this work.
ii
List of Figures
1. Landing Page 11
iii
CONTENTS
Topic Page No.
Acknowledgment ii
List of Figures iii
Contents iv- v
CHAPTER 1 INTRODUCTION 1
CHAPTER 2 OBJECTIVES 2
3.1 Frontend
3.2 Backend
3.3 Database
3.4 Authentication
3.6 Hosting
3.8 Others
iv
4.5 Employer and Freelancer Profile Page
CHAPTER 7 IMPLEMENTATIONS
CHAPTER 9 CONCLUSION
CHAPTER 11 REFERENCES
v
CHAPTER 1: INTRODUCTION
The JobSulpt Freelancing Website is an innovative platform designed to bridge the gap between
freelancers and employers, fostering seamless collaboration and efficient project management. The
platform caters to a wide range of industries and skill sets, providing users with a comprehensive suite
of tools for creating professional profiles, discovering opportunities, and managing job applications.
This website leverages modern technologies like React.js for the frontend and Node.js for the backend,
ensuring a responsive and intuitive user experience. By integrating advanced functionalities such as
image editing, skill management, and resume creation, the platform aims to enhance the usability and
efficiency of freelance job hunting.
Additionally, the project incorporates industry-standard security measures, including JWT
authentication, and employs robust backend services to ensure data integrity and scalability. Through
the use of Cloudinary for image hosting and Tailwind CSS for UI design, the website offers both
aesthetic appeal and high performance.
The primary objective of this project is to provide a user-centric platform that simplifies the hiring
process for employers and helps freelancers showcase their skills effectively, ultimately creating a
thriving ecosystem for both parties.
1
CHAPTER 2: OBJECTIVES
The primary objective of the JobSulpt Freelancing Website is to create a robust and user-friendly
platform that connects freelancers with hiring employers, facilitating seamless communication and
collaboration. The key goals of the project include:
1. Streamlining Job Search and Hiring: Enable freelancers to easily discover relevant job
opportunities and allow employers to find skilled professionals for their projects.
2. Efficient Profile Management: Provide freelancers with tools to build detailed profiles,
including work experience, education, and skills, enhancing their visibility to potential
employers.
3. Enhancing Usability: Implement intuitive interfaces and features such as image editing,
resume creation, and skill proficiency selection to improve the overall user experience.
5. Leveraging Modern Technology: Use cutting-edge tools like React.js, Node.js, Cloudinary,
and Tailwind CSS to deliver a scalable, secure, and visually appealing web application.
6. Facilitating Collaboration: Allow employers to manage job postings effectively and review
freelancer applications, fostering a productive work environment.
2
CHAPTER 3: TECHNOLOGY USED
Frontend
HTML5: For structuring the web pages.
Backend
Node.js & Express.js: To create the backend api's
CORS: Cross-Origin Resource Sharing gives the functionality to limit our API to a particular
frontend URL.
Database
Authentication
• NoSQL Queries for efficient data retrieval using Mongoose package manager.
Hosting
Version Control
Others
Landing Page
4
Fig 2: Login & SignUp Page
Forget Password
5
Figure 4: Forget Password Email
6
User can choose their role as a freelancer or a hiring employer.
7
Figure 8: Updating Profile
Users are required to choose a unique username. If the username is already in use, a notification will be
displayed, preventing progression to the next step. Subsequently, users must provide their full name,
date of birth, and a brief description about themselves.
8
Fig 11: Employer Profile
9
CHAPTER 5: DATABASE DESIGN
Designed a scalable and efficient database schema in MongoDB, leveraging its NoSQL flexibility to
accommodate dynamic and hierarchical data. Collections are structured as follows:
Users Collection: Stores freelancer and employer data, including roles, unique usernames,
profiles, and authentication credentials (Google OAuth and JWT).
Jobs Collection: Contains job postings with fields for title, description, skills required,
employer details, and application tracking.
Applications Collection: Tracks freelancer applications, including cover letters and application
statuses.
Skills Collection: Maintains a list of predefined skills with proficiency levels (Beginner,
Intermediate, Advanced).
Media Collection: Manages image uploads, leveraging Cloudinary URLs for storage.
10
CHAPTER 6: SYSTEM ARCHITECTURE
Developed a modular system architecture leveraging the MERN stack for scalability and
maintainability:
Frontend: Built with React.js, providing a dynamic and responsive user interface with
components styled using Tailwind CSS and Material UI.
Backend: Developed with Node.js and Express.js, implementing RESTful APIs for seamless
communication between the client and server.
Database: MongoDB, designed with a flexible schema to handle diverse user data and
relationships efficiently.
Authentication: Secure user authentication using JWT for sessions and Google OAuth for
third-party login.
Media Storage: Integrated Cloudinary for efficient image hosting and retrieval.
Deployment: Deployed using scalable cloud platforms ensuring availability and performance.
11
CHAPTER 7: IMPLEMENTATION
Implemented a freelancing platform using a modern MERN stack architecture, integrating advanced
functionalities for an optimized user experience:
Frontend: Built responsive and dynamic interfaces with React.js, leveraging reusable
components and state management for seamless navigation.
Backend: Designed a RESTful API with Node.js and Express.js, ensuring efficient handling of
user requests and interactions with the database.
Database: Structured MongoDB collections to store user profiles, jobs, applications, and
media, enabling efficient queries with indexes for scalability.
Authentication: Secured user sessions with JWT-based authentication and Google OAuth for
simplified signup/login options.
Features:
o Unique username validation during registration.
o Dynamic profile creation for freelancers and employers.
o Image upload and editing using Cloudinary integration.
o Skill-based job recommendations and application tracking.
Styling and UI: Used Tailwind CSS and Material UI to deliver a clean, professional, and
responsive user interface.
12
CHAPTER 8: CHALLENGES FACED
While developing the freelancing platform, several challenges were encountered and effectively
addressed:
4. Image Uploads and Editing: Integrating Cloudinary with real-time image preview and
alignment features required additional handling for responsive design.
7. Security Implementation: Protecting sensitive data with JWT, password hashing, and
validation against common attacks like SQL injection and XSS demanded rigorous testing.
8. Real-Time User Feedback: Providing instant error messages (e.g., for invalid usernames or
skill selection) required efficient frontend-backend communication.
13
CHAPTER 9: CONCLUSION
In conclusion, the development of the JobSulpt freelancing platform successfully bridges the gap
between freelancers and employers by offering a secure, scalable, and feature-rich solution. The project
leverages modern technologies, including the MERN stack, to provide a seamless user experience,
ensuring efficient profile creation, job management, and skill-based recommendations.
Through the integration of Google OAuth, Cloudinary, and industry-standard security practices, the
platform is equipped to handle user needs reliably while maintaining data integrity. The challenges
faced during development were instrumental in refining the system architecture and enhancing the
overall robustness of the application.
This project serves as a testament to the potential of modern web development frameworks in building
intuitive and impactful solutions for real-world problems, laying the foundation for future
improvements and scalability in the freelancing ecosystem.
14
CHAPTER 10: FUTURE ENHANCEMENTS
Real-Time Messaging: Implement a chat feature to enable direct communication between freelancers
and employers for smoother collaboration.
5. Performance Analytics: Provide detailed insights and analytics for both freelancers (e.g.,
profile views, job applications) and employers (e.g., job reach, applicant quality).
6. Freelancer Portfolio: Allow freelancers to showcase their work portfolio, including projects,
testimonials, and certifications.
7. Employer Rating System: Introduce a feedback and rating system for employers to improve
trust and platform transparency.
15
CHAPTER 11: REFERENCES
1. Documentation:
4. Email Service:
o Nodemailer: https://nodemailer.com/about/
6. General References:
o MDN Web Docs: https://developer.mozilla.org/
16