Vikhyat 1
Vikhyat 1
Vikhyat 1
REPORT
JOB COACH
CLASS PROJECT
CERTIFICATE
THIS IS TO CERTIFY THAT Vikhyat Sai Jagini, CLASS 12, WITH REGISTER NUMBER
__________________ __________________
GUIDE PRINCIPAL
_________ ________
INTERNAL EXAMINER EXTERNAL EXAMINER
ACKNOWLEDGEMENT
THIS PROJECT COULD NOT HAVE BEEN SUCCESSFULLY COMPLETED WITHOUT THE
UNENDING AND CONTINOUS SUPPORT AND HELP FROM ALL MY TEACHERS AND
GROUP MEMBERS. I WOULD ALSO LIKE TO THANK MY PARENTS FOR THEIR LOVE
Sri Shaatvika
Registration number: 18601672
Email-id: srishaatvika@gmail.com
Neha Namburi
Registration number: 18601750
Email-id: namburi.neha@gmail.com
1
PROJECT DEFINITION
With the COVID variants pushing countries into lockdowns, the search for a job has become
worse- especially for the uneducated, underprivileged and the poor. Several catastrophes,
including wars, wildfires, hurricanes, have forced people to leave their hometowns in search
of a suitable job and livelihood. These people depend on jobs in the informal sector which
consists of uncertainty during the pandemic era. There is no job security in the event of a
disaster. Those who aren't educated have the least opportunities and are the most affected by
such calamities.
In 2021 alone, over 46.2 million people immigrated. Studies indicate that it is immensely
hard for these immigrants to find suitable jobs for themselves.
To address this growing problem, our group has come up with a project which recommends
immigrants prospective jobs. This way, immigrants can find a suitable job that can enable
them to earn a sustainable livelihood. Using the data published in a survey conducted by the
Government of India, we created Job Coach: a user-friendly platform that takes in data from
the user through an elaborate questionnaire and suggests them a suitable job with the help
of the survey results. Using the programming learnt at school, we integrated python
programming language to MySQL databases and generated a calculated suggestion on what
job would be suitable for the user. We suggest suitable jobs by analyzing their skill set: namely
age, origin, background, and other important factors. Using their phone number, they will be
able to register.
The project is designed to handle the migrant workers from various parts of the country. We
wish to incorporate the various other aspects and address its limitations in its future versions.
2
REASON FOR CHOOSING THIS TOPIC
3
OBJECTIVE OF THE PROJECT
Our main objective is to make the process of immigration easier for the daily wage laborers.
With our interactive application, we recommend laborers suitable jobs which fit their
personal and professional conditions.
To make a well-informed decision, we gather information about the laborers’ age, education
and skills and integrate these with statistical findings from a study by the name The Life and
Times of Migrant Workers in Chennai conducted by J.Jeyaranjan from the Institute of
Development Alternatives, Chennai . This way, we can help a labourer find a sector that has
jobs in which he/she can fit into easily and ensure a sustainable livelihood.
Our project integrates 2 programming languages- MySQL and Python. MySQL serves as the
storehouse of the jobs and questions through which we ask for inputs from the user - namely
age, education, marital status, etc. Once the user inputs these details, we compare it with our
statistical findings and recommend several jobs which come under a particular sector (which
is best-suited for the user). Next, we upload the user’s data in a CSV file. We then access our
database and print the various jobs that belong to a particular sector.
This way, the user can make an informed decision and pursue a job that can provide him with
better returns.
4
SYSTEM REQUIREMENTS
Hardware Requirements:
A Computer/Laptop with
Operating System-Windows 7 or above
x86 64-bit CPU (Intel / AMD architecture)
4 GB RAM.
5 GB free disk space
Software Requirements:
5
SOURCE CODE
#importing modules
import csv
import tkinter as tk
import mysql.connector
from tkinter import *
import mysql.connector as m
6
#----------------------------------------------- FRONT END ------------------------------------------
-----------
#Header
l0 = Label(root, text="INFORMATION PORTAL",width=25, font=("Helvetica", 35))
l0.place(x=400,y=53)
e1 = Entry(root)
e1.place(x=700,y=130)
e2 = Entry(root)
e2.place(x=700,y=180)
7
Radiobutton(root, text="College Graduate",padx = 20, variable=var3,
value=3).place(x=1100,y=230)
e4 = Entry(root)
e4.place(x=700,y=280)
e7 = Entry(root)
e7.place(x=700,y=430)
8
#l8 and radio -> Question 8 and Radio button
l8 = Label(root, text=w[7],width=40,font=("bold", 10))
l8.place(x=102,y=480)
var8 = IntVar()
Radiobutton(root, text="Speak",padx = 5, variable=var8, value=1).place(x=700,y=480)
Radiobutton(root, text="Read & Speak",padx = 20, variable=var8,
value=2).place(x=900,y=480)
Radiobutton(root, text="Studied Language in School",padx = 20, variable=var8,
value=3).place(x=1100,y=480)
#----------------------------------------------------------------------------------------------------------
---------
9
#--------------------------------------- BACK END / LOGIC -----------------------------------------
----------
def recorddata():
inform = Label(root, text = "Please look at IDLE output for job recommendations", width
= 100, fg = "red", font = ("bold",10))
inform.place(x=370,y=650)
hold.extend([e1.get(),e2.get(),var3.get(),e4.get(),var5.get(),var6.get(),e7.get(),var8.get(),var
9.get(),var10.get()])
else:
#print(hold) --test case
next(data)
rows=[]
for row in data:
rows.append(row)
10
#print(rows) --test case
flag=0
if (flag!=1):
cs=ms=ss=0
# Checking Age
if int(hold[1]) in range(18,30):
ms=ms+1
elif int(hold[1]) in range (30,50):
ss=ss+1
else:
cs=cs+1
# Checking Education
if hold[2] == 1:
cs=cs+1
elif hold[2] == 2:
ss=ss+1
else:
11
ms=ms+1
# Checking Origin
if hold[5] == 1:
ms=ms+1
elif hold[5] == 2:
ss=ss+1
else:
cs=cs+1
# Checking Marital Status
if hold[8]==1:
cs=cs+1
ss=ss+1
else:
ms=ms+1
12
cs=cs+1
elif ms == ss:
if hold[2] == 3:
ss=ss+1
else:
ms=ms+1
elif cs == ss:
if hold[2] == 3:
ss=ss+1
else:
cs=cs+1
13
cur.execute("select * from service")
display = cur.fetchall()
for i in range(len(display)):
jobRec.append(display[i][0])
print("******** JOB RECOMMENDATIONS ********")
for i in jobRec:
print(i)
print("*************************************")
print("Thank you")
#Submit button
btn=Button(root, text='Submit',width=20,bg='brown',fg='white', command=recorddata)
btn.place(x=700,y=620)
root.mainloop()
14
OUTPUT SCREENSHOTS
15
Figure 2: User interface with information from user 1
16
Figure 3: Output screen of user 1
17
Figure 4: User interface with information from user 2
18
Figure 5: Output screen for user 2
19
Figure 6: CSV file containing details of the users
20
LIMITATIONS OF THE PROJECT
This application is only limited to Indian users and focuses on migration within the
country only.
Cannot accommodate more user-defined functions because of variable type.
Lacks a real-world search engine and high-quality user experience.
Users cannot input the names of the languages known and their expertise in each of
them.
Lack of data to streamline the project for a specific city/ locality
It also lacks specificity in the jobs offered. All the assignments are made sector-wise.
Analyzing the data of the users is hard because the data is stored in a CSV file.
Cannot validate the information entered by the user
The output of the jobs is printed on the IDLE output screen while the user inputs
his/her details on the Tkinter interface. Hence, it is hard to locate the output.
21
BIBLIOGRAPHY
https://labour.gov.in/list-professions-occupations-covered
https://docs.python.org/3/library/tkinter.html
https://www.tutorialspoint.com/python/python_gui_programming.htm
Computer Science with python (class 11) – Sumita Arora
Computer Science with Python (class 12) – Sumita Arora
The Life and Times of Migrant Workers in Chennai – J Jeyaranjan
22