Skip to content

Commit c3fe0f3

Browse files
committed
career ready
1 parent 2a80986 commit c3fe0f3

19 files changed

+19374
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
from flask import Flask, render_template, request, session, flash, redirect, url_for, g
2+
# from flask_bcrypt import bcrypt
3+
from flask_sqlalchemy import SQLAlchemy
4+
import pickle
5+
import numpy as np
6+
from sklearn.model_selection import train_test_split
7+
from sklearn.neighbors import KNeighborsClassifier
8+
from sklearn import metrics
9+
# from models import User
10+
11+
12+
app = Flask(__name__)
13+
app.secret_key = 'somesecretkeyiknow'
14+
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db'
15+
app.config['SQLAlCHEMY_ECHO']= True
16+
17+
db = SQLAlchemy(app)
18+
19+
class User(db.Model):
20+
email = db.Column(db.String(120), primary_key=True)
21+
password = db.Column(db.String(120))
22+
23+
def __repr__(self):
24+
return f"User('{self.email})'"
25+
26+
# class User:
27+
# def __init__(self,id,email,password):
28+
# self.id=id
29+
# self.email=email
30+
# self.password=password
31+
32+
# def __repr__(self):
33+
# return f'<User:{self.email}>'
34+
35+
# users=[]
36+
# users.append(User(id=1, email='mad@gmail.com', password='madhu001'))
37+
# print(users)
38+
39+
40+
41+
# @app.before_request
42+
# def before_request():
43+
# if 'user_id' in session:
44+
# user = [x for x in users if x.id==session['user_id']][0]
45+
# g.user = user
46+
# else:
47+
# g.user = None
48+
49+
@app.route('/hometest')
50+
def hometest():
51+
return render_template('hometest.html')
52+
53+
@app.route("/login",methods=['GET','POST'])
54+
def login():
55+
if request.method == 'POST':
56+
session.pop('user_id',None)
57+
58+
email = request.form['email']
59+
password = request.form['password']
60+
user = User.query.filter_by(email=email).first()
61+
# user =[x for x in users if x.email==email][0]
62+
if user and user.password == password:
63+
# return render_template('hometest.html')
64+
return redirect(url_for('hometest'))
65+
else:
66+
flash("Wrong login details!!")
67+
# return redirect(url_for('login'))
68+
return render_template('login.html')
69+
70+
71+
@app.route('/register',methods=['GET','POST'])
72+
def register():
73+
if request.method=='POST':
74+
email = request.form['email']
75+
password= request.form['password']
76+
# hash_password = bcrypt.generate_password_hash(password).decode('utf-8')
77+
user = User(email=email, password=password)
78+
db.create_all()
79+
db.session.add(user)
80+
db.session.commit()
81+
flash('Your registersuccesss!')
82+
return redirect(url_for('login'))
83+
return render_template('register.html')
84+
85+
86+
@app.route('/profile')
87+
def profile():
88+
# if not g.user:
89+
# return redirect(url_for('login'))
90+
91+
return render_template('profile.html')
92+
93+
94+
95+
96+
@app.route('/predict',methods = ['POST', 'GET'])
97+
def result():
98+
if request.method == 'POST':
99+
result = request.form
100+
i = 0
101+
print(result)
102+
res = result.to_dict(flat=True)
103+
print("res:",res)
104+
arr1 = res.values()
105+
arr = ([value for value in arr1])
106+
107+
data = np.array(arr)
108+
109+
data = data.reshape(1,-1)
110+
print(data)
111+
loaded_model = pickle.load(open("careerl.pkl", 'rb'))
112+
predictions = loaded_model.predict(data)
113+
# return render_template('testafter.html',a=predictions)
114+
115+
print(predictions)
116+
pred = loaded_model.predict_proba(data)
117+
print(pred)
118+
#acc=accuracy_score(pred,)
119+
pred = pred > 0.05
120+
#print(predictions)
121+
i = 0
122+
j = 0
123+
index = 0
124+
res = {}
125+
final_res = {}
126+
while j < 17:
127+
if pred[i, j]:
128+
res[index] = j
129+
index += 1
130+
j += 1
131+
# print(j)
132+
#print(res)
133+
index = 0
134+
for key, values in res.items():
135+
if values != predictions[0]:
136+
final_res[index] = values
137+
print('final_res[index]:',final_res[index])
138+
index += 1
139+
#print(final_res)
140+
jobs_dict = {0:'AI ML Specialist',
141+
1:'API Integration Specialist',
142+
2:'Application Support Engineer',
143+
3:'Business Analyst',
144+
4:'Customer Service Executive',
145+
5:'Cyber Security Specialist',
146+
6:'Data Scientist',
147+
7:'Database Administrator',
148+
8:'Graphics Designer',
149+
9:'Hardware Engineer',
150+
10:'Helpdesk Engineer',
151+
11:'Information Security Specialist',
152+
12:'Networking Engineer',
153+
13:'Project Manager',
154+
14:'Software Developer',
155+
15:'Software Tester',
156+
16:'Technical Writer'}
157+
158+
#print(jobs_dict[predictions[0]])
159+
job = {}
160+
#job[0] = jobs_dict[predictions[0]]
161+
index = 1
162+
163+
164+
data1=predictions[0]
165+
print(data1)
166+
return render_template("testafter.html",final_res=final_res,job_dict=jobs_dict,job0=data1)
167+
168+
169+
170+
171+
if __name__ == '__main__':
172+
app.run(debug=True)
Binary file not shown.

0 commit comments

Comments
 (0)