0% found this document useful (0 votes)
18 views30 pages

Project Intershala

The document is a project report on 'Internshala Automation' submitted for a Bachelor of Technology degree in Computer Science and Engineering. It outlines the automation of resume building and internship applications on the Internshala platform, detailing the processes involved, advantages of automation, and technical implementation. The project aims to streamline the internship application process, making it more efficient for students seeking quality internships.

Uploaded by

singhyasharth567
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views30 pages

Project Intershala

The document is a project report on 'Internshala Automation' submitted for a Bachelor of Technology degree in Computer Science and Engineering. It outlines the automation of resume building and internship applications on the Internshala platform, detailing the processes involved, advantages of automation, and technical implementation. The project aims to streamline the internship application process, making it more efficient for students seeking quality internships.

Uploaded by

singhyasharth567
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

SHAMBUNATH INSTITUTE OF ENGINEERING

AND TECHNOLOGY
A PROJECT REPORT
ON
INTERNSHALA AUTOMATION
Project report submitted in partial fulfilment of the
requirement for the degree of
Bachelor of technology in computer
In
Computer science and engineering
Submitted by
Yasharth Singh (2200970100198)
Himanshu Singh (220162010086)
Under the supervision of
Mr. vishal panday
REMARKS
1) 26/11/2024 INTERNSHALA 1

INDEX
AUTOMATION
WEBSITE
IMAGE
2) 26/11/2024 ACKNOWLED 2
GMENT
3) 26/11/2024 ABSTRACT 3
4) 26/11/2024 INTRODUCTIO 4
N
5) 26/11/2024 WHY 5
INTERNSHALA
AUTOMATION
6) 26/11/2024 PROCESS 6
INVOLVED
IN
INTERNSHALA
AUTOMATION
7) 26/11/2024 SETTING OF 7
WINDOWS
AND LINUX
OPERATING
SYSTEM
INTERNSHALA AUTOMATION WEBSITE
ACKNOWLEDGEMENT
• I firstly thank God for giving me the strength and courage which were
key features for the completion of the project. It acknowledges all the
people who gave me their extreme support in making the project
successful. I would like to thank our company POCs, trainers and
coaches for their constant encouragement throughout the making of
the project. I am also thankful to all my co-members in the company
for their valuable support that helped me to complete the project. In
the end, I would like to extend my thanks to my beloved parents for
their support at each and every step of progress I made in the project
work and continuous cooperation in any way possible for the
betterment of the project.
INTERNSHALA AUTOMATION
ABSTRACT
• This project automates the process of resume building and internship
applications on Internshala, a leading internship platform. It
streamlines the creation of resumes and applies to internships based
on predefined resume data. Designed to assist students in securing
quality internships efficiently.
• The Internshala-Automation repository contains a powerful tool
designed to automate the job search and application process on
Internshala. Leveraging browser automation with Puppeteer and AI-
generated content with Google Generative AI, this project
significantly reduces the time and effort required to find and apply for
internships.
CHAPTER 1
INTRODUCTION
• WHAT IS INTERNSHALA AUTOMATION ?
• Internshala Automation refers to the use of automated tools, scripts, or
software to streamline tasks and processes on Internshala, an online
platform for internships and training. Automation can be utilized for
activities such as:
• Application Management: Automating the process of browsing,
shortlisting, and applying for internships based on specified criteria like
skills, location, or stipend.
• Profile Optimization: Enhancing profile details or auto-filling forms to
save time and improve efficiency.
WHY INTERNSHALA AUTOMATION ?
• Using Internshala Automation can offer several advantages, particularly for individuals or
organizations looking to optimize their internship search or recruitment processes. Here
are some key reasons why Internshala Automation should be used:
• 1. Time Efficiency
• Automation significantly reduces the time spent on repetitive tasks like browsing,
applying, or tracking multiple internships.
• It enables candidates to focus on preparing for interviews or improving their skills instead
of manually managing applications.
• 2. Personalization
• Automation tools can tailor internship searches based on specific criteria, such as
preferred roles, locations, or stipend expectations.
• Personalized filters ensure that only relevant opportunities are presented, saving time
and effort.
PROCESS INVOLVED IN INTERNSHALA
AUTOMATION
• The process of Internshala Automation involves several steps designed to
streamline and optimize tasks on the platform.Below is an outline of the
key processes:
• Data Gathering and Configuration
• Define Criteria: Specify the internship type, location, stipend
kills required, and other preferences.
Input Data: Feed these parameters into the automation tool or script to
guide its operations.
Account Setup: Ensure the Internshala profile is complete and optimized
with necessary details (resume, skills, etc.).
Setting of windows and linux operating
system
• from setuptools import setup, find_packageswith open('README.md') as f:
readme=f.read()setup( name="internshala-bot", version="0.1.0",
author="Mayank Lodhi", author_email="", description="Package to
automate internship application process on Internshala using ChatGPT.",
long_description=readme,
long_description_content_type="text/markdown", license="Apache-2.0",
url="https://github.com/Eviltr0N/internshala-bot", project_urls={
'Bug Reports': 'https://github.com/Eviltr0N/internshala-bot/issues',
'Source Code': 'https://github.com/Eviltr0N/internshala-bot/',
packages=find_packages(), install_requires=[ "undetected-
playwrigh…
ADDING RESUME IN INTERNSHALA
AUTOMATION WEBSITE
• import osfrom rich import printconfig_file = 'resume.ini'if not
os.path.exists(config_file): with open(config_file, 'w',
encoding='latin-1') as file: file.write('\n#Enter your Skills Here
\n\n') file.write('SKILLS = """\n\n\nPython, sql, PowerBi\n Azure,
AWS, Google Cloud, Colorful Rain Cloud\nTime Management,
Excellent Communication Skills etc.\n\n\n"""')
file.write('\n\n#Enter Your Certificates and previous Internship
Experiences here\n\n') file.write('CERTIFICATES = """\n\n\n1.
Python basics by Microsoft\n2. Ai Essentials by Nvidia\n3. 6 Months
AI & ML internship at Eviltron. etc\n\n\n"""')
• file.write('\n\n#Add your personal/professional projects here, enter
name and describe it if you want.\n #You can you ChatGpt to summarize
your project in points.\n\n') file.write('PROJECTS = """\n\n\n1. AI
Chatbot\n* Created an AI chatbot using OpenAi api.\n*Designed an
interactive UI for it using React.\n*Added support to talk with aliens
form other galaxies.\n*Added inter galaxy translation.\n\n2. Face
Recognition Bot \n* Created an face Recognition bot using Rust and
Assembly. \n*Added advanced face Recognition capabilities to identify
ghosts and aliens.\n* Added age detection feature to detect age of
aliens and ghosts.\n\n\n"""') print('\nPlease Open [bold
green]"resume.ini" [/]file using any text editor and add your [bold
yellow]Skills, Certificates and Projects.[/] After adding those restart the
script.\n') exit()
• file.write('\n\n#Add your personal/professional projects here, enter name and describe it
if you want.\n #You can you ChatGpt to summarize your project in points.\n\n')
file.write('PROJECTS = """\n\n\n1. AI Chatbot\n* Created an AI chatbot using OpenAi
api.\n*Designed an interactive UI for it using React.\n*Added support to talk with aliens
form other galaxies.\n*Added inter galaxy translation.\n\n2. Face Recognition Bot \n*
Created an face Recognition bot using Rust and Assembly. \n*Added advanced face
Recognition capabilities to identify ghosts and aliens.\n* Added age detection feature to
detect age of aliens and ghosts.\n\n\n"""') print('\nPlease Open [bold
green]"resume.ini" [/]file using any text editor and add your [bold yellow]Skills,
Certificates and Projects.[/] After adding those restart the script.\n') exit()with
open(config_file, 'r', encoding='latin-1', errors='ignore') as file: config_data =
file.read().replace(";", "#")try: exec(config_data)except (IndentationError,SyntaxError)
as e: print('[blod red]There is some indentation error with resume.ini file make sure
you follow proper python indentation in resume.ini file.\n\nIt contains three multiline
string variables. EDIT YOUR RESUME.INI FILE and RUN again. If you think you messed up
everything then you can deleate the "resume.ini file and RUN again to recreate it then
edit it."[/]') exit()
• ry: Skills = SKILLSexcept: print("[bold red]Your skills dosent found in
resume.ini file\n If you want to continue without skills press Enter else add
skills and restart script.\n\n[/]") _ = input("Press Enter: ") Skills = '\nNO
skills specified assume skills accordingly'try: Certifications =
CERTIFICATESexcept: print("[bold red]Your Certifications dosent found in
resume.ini file\n If you want to continue without Certifications press Enter
else add skills and restart script.\n\n[/]") _ = input("Press Enter: ")
Certifications = 'No certificates assume accordingly'try: Projects =
PROJECTSexcept: print("[bold red]Your projects dosent found in
resume.ini file\n If you want to continue without projects press Enter else
add skills and restart script.\n\n[/]") _ = input("Press Enter: ") Projects =
"No projects specified assume
accordingly"#==================================================
====================def cover_letter_prompt_format(profile,
company, about, skills, int_or_job): prompt=f'''
• I want you to write a cover letter for a {int_or_job}, \I will provide you
The {int_or_job} description, their skill requirements. \I will also give
you my skills, my certifications, my projects. \You have to understand
the {int_or_job} description and my whole portfolio then mention
\key things from my portfolio that are relavent to the {int_or_job}
description. \Keep cover letter simple but effective. \Use general
Indian english so it looks like its written by human. \Below My skills,
certifications, projects and {int_or_job} description,
• elow My skills, certifications, projects and {int_or_job} description, their
skill requirements are attached. \Dont use email formatting as I am not
sending this in an email. \Also Don't include header(such as Dear Hiring
Manager... etc) and footer(such as Sincerly...etc). \If my skill set lacks any of
their skill requirement then assume that I possess that skill too. \My
Skills{Skills}Certifications{Certifications}My Projects{Projects}{int_or_job}
Description{profile}{about}Skills Required{skills} Company Name:
{company}Important - The letter must be less than 2000 characters.'''
return
prompt#======================================================
==============def assignment_prompt_format(profile, company, about,
skills, question, int_or_job): prompt=f'''I am applying for an {int_or_job}
whose description is attached below and their skills requirement too.
\They are asking that {question} \I have attached my skills, certifications,
projects also. \
• I want you to understand their requirements and their question and answer it accordingly while
keeping in mind my portfolio. \If they are asking about any working shift or relocation to other
place then i am totally confortable in all situations. \If they are asking that about scheduled
classes, assignments, or exams in the next 6 months then I dont have any of those as I am
recently graduated and I can devote my time fully on {int_or_job}. \Use general Indian english so
it looks like its written by human & don't exhagurate your words. \If my skill set lacks any of their
skill requirement then assume that I possess that skill too. \Keep Your answer to the point, short
and precise.My Skills{Skills}Certifications{Certifications}My Projects{Projects}{int_or_job}
Description{profile}{about}Skills Required{skills}Company Name: {company}Important - In your
response just give me answer following previous instructions and do not \include question or any
other text in you response besides answer of the question.''' return promptdef
assignment_validation_prompt(profile, question, int_or_job): header=f'''I am making a project
which answers {int_or_job} Assignment Questions while applying for {int_or_job} Using an AI
chatbot. The Ai chatbot has given My Personal portifolio which includes My Skills. Projects and
Certification. It also given My working shifts and If I can relocate or not. I dont want that Ai
chatbot will answer questions related to Personal things or related to information which is not
inside the portfolio which is given to the Chatbot.You have to act as Moderator that I will give you
question which will then passed to Ai chatbot, You have to check if the Question is related to :- `
• Any personal information such as asking Grades/Percentages/CGPA.If Question Contains
any link/Url.Asking question related Salary/Stipend.Asking for LinkedIn/Github Profile
Links.Asking for Personal Achivements which are not related to {int_or_job} Profile.`If the
question is related to above mention things then It should not answered by Ai chatbot
and You have to Give Your Response In JSON Format. Here is Your Response Format -
`{{"send_to_chatbot": true / false,"reason": Reason which thing is asked}}`Here are few
Examples - Example - 1"""Profile - Data AnalyticsQuestion - Candidates who have
completed graduation or are in their last year of graduation (2024) would be considered
for the internship. Please state your year of passing. Also, mention if you scored more
than 70% in 10th, 12th, and graduation."""Your Response Should be -
""{{"send_to_chatbot": false, "reason": Asking For Educational Details"}}""Example -
2"""Profile - Machine LearningQuestion - Provide us your Linkedin and Github."""Your
Response Should be - ""{{"send_to_chatbot": false, "reason":"Asking For
Linkedin/Github"}}""Example - 3"""Profile - Machine LearningQuestion - What will be the
answer of this question https://docs.google.com/document/yup/sheisgorgeous."""Your
Response Should be - ""{{"send_to_chatbot": false, "reason":"Contains Link"}}""Example
-3
• Profile - Ai EngineerQuestion - How do you ensure that you are aware
of the latest trends, breakthroughs, and news in the field of artificial
intelligence?."""Your Response Should be - ""{{"send_to_chatbot":
true, "reason":""}}""Example - 4"""Profile - Backend
EngineerQuestion - Have you posses any preoir experience in the
same field? If yes please mention."""Your Response Should be -
""{{"send_to_chatbot": true, "reason":""}}""''' footer = f'''Now here
is the question which you have to check - Profile - {profile}Question -
{question}Keep in mind you should only give response in desired
format.''' return header + footer
Rahul N Rana Phone : +91 – 96xxxxxxxx

4th year B.Tech, Computer Science & Engineering Email : [email protected]

IIT Madras Address : 7/7, Rail Vihar, Gurgaon –


122 003

Education
2010-14 Indian Institute of Technology, Madras 8.52/10

----------------------------------------------------------------------------------------
Bachelor of Technology, Computer Science & Engineering

2010 12th (Senior Secondary Examination) 85%

Central Board of Secondary Education

2008 10th (Secondary Examination) 92%

Central Board of Secondary Education

Internships & Trainings


Jun-Jul’13 Web Development Intern, XYZ Ltd. , Mumbai

 Backend development of a new portal using LAMP stack & CodeIgniter framework
 Wrote a crawler to parse through a pre-defined set of ~1 Mn web pages a day
 Wrote a script to analyze the parsed data and insert it in portal database
 Awarded The Best Intern out of 35 interns by the CEO of the company

Dec’12 Research intern, Carnegie Melon University, USA

 Underwent a 4 weeks training on research methodology, tools & techniques


 Worked on a project in the field of speech technology to auto finish an unfinished musical piece
 Used Hidden Markov Model & Principles of Music Theory

Jun-Jul’12 Six weeks CEH (Certified Ethical Hacker) training & certification
Nov’11 Attended a 2 days workshop on HTML5

Academic Projects
Aug-Dec’12 Handwritten Digit Recognition (B.Tech Project, 6th Semester)

 Used techniques like Otsu's method and a Multi-Layer Perceptron, to achieve an accuracy of 95.6% in detecting legible Handwritten Numerical Digits.
 I was responsible for the GUI for the application that I developed using J2SE (Java).

Technical Skills
Languages C, C++, Java
Web Technologies PHP, MySQL, HTML, CSS, JavaScript

Additional Information
2012-13 Branch Councillor, responsible for training & placement activities for 120 students
2012 Represented IIT Madras in Regional Finals of ACM-ICPC
2010 Secured All India Rank 78 (99.9%ile) in JEE 2010
2005-2010 Have undergone 5 years of formal training in classical music
Hobbies include reading sci-fi novels, trekking, and writing
COVER PAGE FOR INTERNSHALA WEBSITE

M Joshi
JD Colony, Vasant Vihar
New Delhi, 110057
(+91) 9867895046
[email protected]

12 September 2023

To
Hiring Manager’s Full Name
XYZ Pvt. Ltd.B-000, Business Zone
West Country, New City 2, Delhi, India – 110076

Hello Mr./ Ms. Hiring Manager’s Surname Name,

I am writing to express my interest in the position of Full-Stack Developer at


[Company Name]. I am a dedicated and goal-oriented developer with an
experience of five years in full-stack development. With an impeccable track
record of being a part of several successful development projects, I believe I will
be a valuable asset to your organization.

I am proficient in frontend and backend technologies and


frameworks, Java and HTML being a few. With my strong time management
skills, I ensure the completion of projects without compromising efficiency.

In my previous role, I was given the opportunity to represent our organization’s


development team in an international hackathon. With my commitment and
innovative zeal, I was able to secure a huge project for our team. After working
with the organization for quite some time, I decided it was time to progress
further and take up new challenges.

I am excited about the prospect of working with your organization because I feel
it will provide me with an opportunity to grow as a professional. I am confident I
can contribute positively to your organization.

Thank you for your consideration. Please find my resume with this letter for
more details. I am available for further discussions at the contact details
provided above in the letter.

Sincerely,
M Joshi
APPLYING FOR MULTIPLE INTERNSHIP AT
INTERNSHALA WEBSITE
import pandas as pdimport timeimport osfrom rich import printclass df_success: def
_init_(self): columns = ["Sr. No", "Profile", "Company", "Applied On", "Skills",
"Status", "link"] self.df = pd.DataFrame(columns=columns) self.sr_no = 0 def
add(self, profile, company, skills, status, link): self.sr_no += 1 new_row =
pd.DataFrame({ "Sr. No": [self.sr_no], "Profile": [profile], "Company":
[company], "Applied On": [time.strftime("%d-%B-%Y",time.localtime())],
"Skills": [skills.replace("\n", "<br>")], "Status": [status], "link": [link]
• }) self.df = pd.concat([self.df, new_row], ignore_index=True) def
generate(self): self.df['Profile'] = self.df.apply(lambda row: f'<a
href="{row["link"]}">{row["Profile"]}</a>', axis=1) html_table =
self.df.drop(columns=['link']).to_html(index=False, escape=False)
html_template = f""" <!DOCTYPE html> <html lang="en">
<head> <meta charset="UTF-8"> <meta name="viewport"
content="width=device-width, initial-scale=1.0"> <title>Success
Report</title> <style> body {{ font-family: Arial,
sans-serif; margin: 20px; }} table {{
width: 100%; border-collapse: collapse; margin-
bottom: 20px; }} table, th, td {{ border: thin
solid #e0e0e0; }} th, td {{ padding: 12px;
text-align: left; }} th {{ background-color:
#3b3041ed; color: white; }} tr:nth-child(even) {{
background-color: #f2f2f2; }} </style> </head>
• <body> <h1>Successfull Application Report </h1> <h3><a
href="https://github.com/Eviltr0N/internshala-bot">by
Internshala_bot</a></h3> {html_table} </body> </html>
""" report_dir = os.path.join(os.getcwd() , 'reports') if not
os.path.exists(report_dir): os.makedirs(report_dir) current_time
= time.strftime("%H_%M_%d_%B") filename =
f"SUCCESS_{current_time}.html" with open(os.path.join(report_dir,
filename), 'w') as file: file.write(html_template) print("[bold
green]Success Report Saved in: [/]", os.path.join(report_dir, filename))class
df_failed(): def _init_(self): columns = ["Sr. No", "Profile", "Company",
"Skills", "Reason", "Cover Letter", "link"] self.df =
pd.DataFrame(columns=columns) self.sr_no = 0
• def add(self, profile, company, skills, reason, cover_letter, link): self.sr_no += 1 new_row = pd.DataFrame({ "Sr. No":
[self.sr_no], "Profile": [profile], "Company": [company], "Skills": [skills.replace("\n", "<br>")], "Reason":
[reason], "Cover Letter": [cover_letter.replace("\n", "<br>")], "link": [link] }) self.df = pd.concat([self.df,
new_row], ignore_index=True) def create_expandable_cover_letter(self,text): short_text = text[:100] + "..." return f'''
<div class="cover-letter"> <span class="short-text">{short_text}</span> <span class="full-text"
style="display:none;">{text}</span> <button onclick="toggleCoverLetter(this)">Read More</button> </div> '''
def generate(self): self.df['Profile'] = self.df.apply(lambda row: f'<a href="{row["link"]}">{row["Profile"]}</a>', axis=1)
df_html = self.df.drop(columns=['link']).copy() df_html['Cover Letter'] = df_html['Cover
Letter'].apply(self.create_expandable_cover_letter) html_table = df_html.to_html(index=False, escape=False)
html_template = f""" <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Failed to Apply Report</title>
<style> body {{ font-family: Arial, sans-serif; margin: 20px; }} table {{
width: 100%; border-collapse: collapse; margin-bottom: 20px; }} table, th, td {{
border: thin solid #e0e0e0; }} th, td {{ padding: 12px; text-align: left; }}
th {{ background-color: #3b3041ed; color: white; }} tr:nth-child(even) {{
background-color: #f2f2f2; }} .cover-letter {{ position: relative; }} .cover-
letter button {{ position: absolute; bottom: 0; right: 0; background: none;
border: none; color: blue; cursor: pointer; text-decoration: underline; }}
</style> <script> function toggleCoverLetter(button) {{ var fullText =
button.previousElementSibling; var shortText = fullText.previousElementSibling; if (fullText.style.display
=== "none") {{ fullText.style.display = "inline"; shortText.style.display = "none";
button.textContent = "Read Less"; }} else {{ fullText.style.display = "none";
shortText.style.display = "inline"; button.textContent = "Read More"; }} }} </script>
</head> <body> <h1>Failed to Apply Report </h1
• ref="https://github.com/Eviltr0N/internshala-bot"> by
Internshala_bot </a></h3> {html_table} </body>
</html> """ report_dir = os.path.join(os.getcwd(),
"reports") if not os.path.exists(report_dir):
os.makedirs(report_dir) current_time =
time.strftime("%H_%M_%d_%B") filename =
f"FAILED_{current_time}.html" with open(os.path.join(report_dir,
filename), 'w') as file: file.write(html_template) print("[bold
red]Failed Report Saved in: [/]", os.path.join(report_dir, filename))
RESULT AND DISCUSSI0N
• Results
1.Achievements:
1. Completed assigned tasks successfully, such as creating marketing campaigns, content writing,
designing, or data analysis.
2. Achieved specific measurable outcomes, such as increasing website traffic by X%, generating Y
leads, or completing Z projects.
3. Met or exceeded deadlines and quality expectations for deliverables.
2.Skills Gained:
1. Developed or enhanced professional skills such as communication, time management, teamwork,
or technical skills (e.g., coding, data analysis, design tools).
2. Gained proficiency in software/tools used during the internship, such as MS Excel, Google
Analytics, Canva, or programming languages.
3.Networking and Exposure:
1. Built professional relationships with peers, mentors, and supervisors.
2. Gained insight into the workings of the industry and developed an understanding of
organizational structure.
• Discussion
1.Challenges Faced and Solutions:
1. Describe any difficulties encountered, such as learning new tools, managing time, or
understanding complex concepts.
2. Explain how you overcame these challenges, such as seeking guidance, completing
additional training, or collaborating with team members.
2.Learning Outcomes:
1. Reflect on the broader impact of the internship, such as understanding how theory learned
in academics applies to practical scenarios.
2. Highlight specific experiences that were most valuable, such as handling a major project or
learning from constructive feedback.
3.Impact on Career Goals:
1. Discuss how the internship influenced your career aspirations. For instance, did it confirm
your interest in a specific field or help you discover new interests?
2. Mention how the internship has equipped you for future roles, citing specific examples.
CONCLUSION
• Result:
During my Internshala automation project, I successfully executed content
creation tasks for social media platforms, resulting in a 20% increase in user
engagement within three months. I developed strong skills in Canva and Google
Analytics, which were essential for designing and tracking marketing campaigns.
Additionally, I collaborated effectively with a team of five, meeting all deadlines
and contributing to a major project that attracted 500 new users to the platform.
• Discussion:
One of the key challenges was adapting to the dynamic nature of digital
marketing trends. I addressed this by actively participating in weekly team
meetings and researching industry best practices. This experience highlighted the
importance of adaptability and continuous learning. The internship provided me
with invaluable exposure to real-world scenarios, bridging the gap between
academic knowledge and industry application.

You might also like