├── DSA ├── DSA Day 1.ipynb ├── DSA Day 10.ipynb ├── DSA Day 2.ipynb ├── DSA Day 3.ipynb ├── DSA Day 4.ipynb ├── DSA Day 5.ipynb ├── DSA Day 6.ipynb ├── DSA Day 7.ipynb ├── DSA Day 8.ipynb └── DSA Day 9.ipynb ├── HTML & CSS ├── Task 1.html ├── Task 10.html ├── Task 11.html ├── Task 12.html ├── Task 13.html ├── Task 14.html ├── Task 15.html ├── Task 16.html ├── Task 17.html ├── Task 18.html ├── Task 19.html ├── Task 2.html ├── Task 20.html ├── Task 21.html ├── Task 22.html ├── Task 23.html ├── Task 24.html ├── Task 25.html ├── Task 26.html ├── Task 27.html ├── Task 28.html ├── Task 29.html ├── Task 3.html ├── Task 30.html ├── Task 4.html ├── Task 5.html ├── Task 6.html ├── Task 7.html ├── Task 8.html └── Task 9.html ├── Internship Project ├── Internship Project Documentation.pdf ├── Project Screenshots │ ├── 1.png │ ├── 2.png │ ├── 3.png │ ├── 4.png │ ├── 5.png │ ├── 6.png │ ├── 7.png │ ├── 8.png │ └── 9.png ├── __pycache__ │ ├── database.cpython-312.pyc │ └── database.cpython-39.pyc ├── app.py ├── database.py ├── db │ └── hireme.db ├── pythonfiles │ ├── Student_home.py │ ├── Student_reset_pass.py │ ├── Students_register.py │ ├── __init__.py │ ├── __pycache__ │ │ ├── Students_register.cpython-39.pyc │ │ ├── __init__.cpython-39.pyc │ │ ├── create_job.cpython-39.pyc │ │ ├── recruiter_register.cpython-39.pyc │ │ ├── recruiterslogin.cpython-39.pyc │ │ ├── report.cpython-39.pyc │ │ └── students_login.cpython-39.pyc │ ├── create_job.py │ ├── rec_forgotpassword.py │ ├── recruiter_home.py │ ├── recruiter_register.py │ ├── recruiterslogin.py │ ├── report.py │ └── students_login.py ├── requirements.txt ├── static │ ├── css │ │ ├── create_job.css │ │ ├── index.css │ │ ├── job_details.css │ │ ├── rec_forgot_password.css │ │ ├── recruiter_home.css │ │ ├── recruiter_job_details.css │ │ ├── recruiter_login.css │ │ ├── recruiter_register.css │ │ ├── report.css │ │ ├── student_home.css │ │ ├── student_login.css │ │ ├── student_register.css │ │ └── student_reset_password.css │ ├── images │ │ └── logo.png │ └── js │ │ ├── create_job.js │ │ ├── index.js │ │ ├── job_details.js │ │ ├── rec_forgot_password.js │ │ ├── recruiter_home.js │ │ ├── recruiter_job_details.js │ │ ├── recruiter_login.js │ │ ├── recruiter_register.js │ │ ├── report.js │ │ ├── student_home.js │ │ ├── student_login.js │ │ ├── student_register.js │ │ └── student_reset_password.js └── templates │ ├── create_job.html │ ├── index.html │ ├── job_details.html │ ├── rec_forgot_password.html │ ├── recruiter_home.html │ ├── recruiter_job_details.html │ ├── recruiter_login.html │ ├── recruiter_register.html │ ├── report.html │ ├── student_applications.html │ ├── student_home.html │ ├── student_login.html │ ├── student_register.html │ └── student_reset_password.html ├── JavaScript ├── T1.html ├── T10.html ├── T11.html ├── T12.html ├── T13.html ├── T14.html ├── T15.html ├── T16.html ├── T17.html ├── T18.html ├── T19.html ├── T2.html ├── T20.html ├── T21.html ├── T22.html ├── T23.html ├── T24.html ├── T25.html ├── T26.html ├── T27.html ├── T28.html ├── T29.html ├── T3.html ├── T30.html ├── T4.html ├── T5.html ├── T6.html ├── T7.html ├── T8.html └── T9.html ├── Python ├── Day 1.ipynb ├── Day 10.ipynb ├── Day 2.ipynb ├── Day 3.ipynb ├── Day 4.ipynb ├── Day 5.ipynb ├── Day 6.ipynb ├── Day 7.ipynb ├── Day 8.ipynb └── Day 9.ipynb ├── README.md ├── SQL ├── SQL Day 1.html ├── SQL Day 10.html ├── SQL Day 2.html ├── SQL Day 3.html ├── SQL Day 4.html ├── SQL Day 5.html ├── SQL Day 6.html ├── SQL Day 7.html ├── SQL Day 8.html └── SQL Day 9.html ├── index.html └── style.css /HTML & CSS/Task 1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Coming Soon 7 | 8 | 62 | 63 | 64 |
65 |

Coming Soon

66 |

We're launching soon, Stay tuned!

67 |
68 | 69 | 70 | 71 |
72 |
73 | 74 | 75 | -------------------------------------------------------------------------------- /HTML & CSS/Task 10.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Glowing Text 7 | 31 | 32 | 33 |

HTML and CSS

34 | 35 | 36 | -------------------------------------------------------------------------------- /HTML & CSS/Task 11.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Simple Navbar 7 | 49 | 50 | 51 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /HTML & CSS/Task 12.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Error-404 7 | 51 | 52 | 53 |
54 |
404 - Page Not Found
55 |
56 | We're sorry, but the page you requested could not be found. 57 | Back to Home 58 |
59 |
60 | 61 | 62 | -------------------------------------------------------------------------------- /HTML & CSS/Task 13.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 3D Card Flip 7 | 58 | 59 | 60 |
61 |
Front Side
62 |
Back Side
63 |
64 | 65 | 66 | -------------------------------------------------------------------------------- /HTML & CSS/Task 14.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Profile Card 7 | 51 | 52 | 53 |
54 |

John Doe

55 |

Web Developer

56 |

Contact: johndoe@example.com

57 | LinkedIn 58 | GitHub 59 |
60 | 61 | 62 | -------------------------------------------------------------------------------- /HTML & CSS/Task 15.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Collapsible Panel 7 | 41 | 42 | 43 | 44 | 45 |
46 |

This content can be shown or hidden when you click the label above

47 |
48 | 49 | 50 | -------------------------------------------------------------------------------- /HTML & CSS/Task 16.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Project Timeline 7 | 41 | 42 | 43 |
44 |
45 |

Project Initiation

46 |

January 1, 2024

47 |

Initial project planning and team formation.

48 |
49 | 50 |
51 |

Requirements Gathering

52 |

February 1, 2024

53 |

Collecting all the necessary project requirements.

54 |
55 | 56 |
57 |

Design Phase

58 |

March 1, 2024

59 |

Creating wireframes and design prototypes.

60 |
61 | 62 |
63 |

Development

64 |

April 1, 2024

65 |

Coding and implementation of the project.

66 |
67 | 68 |
69 |

Testing & QA

70 |

May 1, 2024

71 |

Conducting tests to ensure quality and performance.

72 |
73 | 74 |
75 |

Project Launch

76 |

June 1, 2024

77 |

Official launch of the project.

78 |
79 |
80 | 81 | 82 | -------------------------------------------------------------------------------- /HTML & CSS/Task 17.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Our Services 7 | 51 | 52 | 53 |
54 |

Our Services

55 |
56 |
57 |

Service 1

58 |

Description of service 1.

59 |
60 |
61 |

Service 2

62 |

Description of service 2.

63 |
64 |
65 |
66 | 67 | 68 | -------------------------------------------------------------------------------- /HTML & CSS/Task 18.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Contact Us 7 | 61 | 62 | 63 |
64 |

Contact Us

65 |
66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 |
74 |
75 | 76 | 77 | -------------------------------------------------------------------------------- /HTML & CSS/Task 19.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Testimonials 7 | 52 | 53 | 54 |
55 |

What Our Clients Say

56 |
57 |

"This service was amazing! I highly recommend it to everyone looking for quality and professionalism."

58 |

- John Doe

59 |
60 |
61 |

"I had a great experience. The team was very helpful and the results were excellent."

62 |

- Jane Smith

63 |
64 |
65 |

"Fantastic! The best decision I made for my project. I will definitely use this service again."

66 |

- Emily Johnson

67 |
68 |
69 | 70 | 71 | -------------------------------------------------------------------------------- /HTML & CSS/Task 2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Speech Bubble 7 | 8 | 32 | 33 | 34 |
35 | Hello! I am a speech bubble. 36 |
37 | 38 | 39 | -------------------------------------------------------------------------------- /HTML & CSS/Task 20.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Pricing Table 7 | 49 | 50 | 51 |
52 |
53 |

Basic

54 |

$10/month

55 | 60 |
61 |
62 |

Pro

63 |

$20/month

64 | 69 |
70 |
71 |

Premium

72 |

$30/month

73 | 78 |
79 |
80 | 81 | 82 | -------------------------------------------------------------------------------- /HTML & CSS/Task 21.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Feedback Form 7 | 58 | 59 | 60 |
61 |

Feedback Form

62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 |
74 | 75 | 76 | -------------------------------------------------------------------------------- /HTML & CSS/Task 22.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Responsive Grid Layout 7 | 32 | 33 | 34 |
35 |
Item 1
36 |
Item 2
37 |
Item 3
38 |
Item 4
39 |
Item 5
40 |
Item 6
41 |
42 | 43 | 44 | -------------------------------------------------------------------------------- /HTML & CSS/Task 23.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Skewed Sections 7 | 70 | 71 | 72 |
73 |
74 |

Welcome to My Website

75 |

This is the first skewed section.

76 |
77 |
78 |
79 |
80 |

About Us

81 |

This is the second skewed section.

82 |
83 |
84 |
85 |
86 |

Contact Us

87 |

This is the third skewed section.

88 |
89 |
90 | 91 | 92 | -------------------------------------------------------------------------------- /HTML & CSS/Task 24.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Expanding Menu 7 | 69 | 70 | 71 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /HTML & CSS/Task 25.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Job Listing 7 | 63 | 64 | 65 |
66 |

Job Openings

67 |
68 |

Job Title 1

69 |

Location: City, State

70 |

Description of job 1.

71 | 72 |
73 |
74 |

Job Title 2

75 |

Location: City, State

76 |

Description of job 2.

77 | 78 |
79 |
80 | 81 | 82 | -------------------------------------------------------------------------------- /HTML & CSS/Task 26.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Dashboard Cards 7 | 66 | 67 | 68 |
69 |
70 |
Card Title 1
71 |
Content for the first card. This could be any information you want to display.
72 | Read More 73 |
74 | 75 |
76 |
Card Title 2
77 |
Content for the second card. More details can be added here.
78 | Read More 79 |
80 | 81 |
82 |
Card Title 3
83 |
Content for the third card. More details can be added here.
84 | Read More 85 |
86 |
87 | 88 | 89 | -------------------------------------------------------------------------------- /HTML & CSS/Task 27.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Vertical Tabs 7 | 68 | 69 | 70 |
71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 |
83 |

Home

84 |

Welcome to our website!

85 |
86 | 87 |
88 |

Services

89 |

We offer a variety of services.

90 |
91 | 92 |
93 |

Contact

94 |

Get in touch with us.

95 |
96 | 97 |
98 |

About

99 |

Learn more about our company.

100 |
101 |
102 | 103 | 104 | -------------------------------------------------------------------------------- /HTML & CSS/Task 28.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Event Invitation 7 | 68 | 69 | 70 |
71 |

You're Invited!

72 |
73 |

Event Details

74 |

Date: December 31, 2024

75 |

Time: 7:00 PM

76 |

Location: 123 Event Street, City

77 |
78 |
79 | 80 | 81 |
82 | 83 | 84 |
85 | 86 |
87 |
88 | 89 | 90 | -------------------------------------------------------------------------------- /HTML & CSS/Task 29.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Fitness Tracker 7 | 69 | 70 | 71 |
72 |

Fitness Tracker

73 | 81 |
82 |
83 |
84 |

Workout 1

85 |

Description of workout 1.

86 |
87 |
88 |

Workout 2

89 |

Description of workout 2.

90 |
91 |
92 | 95 | 96 | 97 | -------------------------------------------------------------------------------- /HTML & CSS/Task 3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Cookie Consent Popup 7 | 8 | 41 | 42 | 43 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /HTML & CSS/Task 30.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | My Portfolio 7 | 90 | 91 | 92 |
93 |

My Portfolio

94 | 101 |
102 | 103 |
104 |

About Me

105 |

Information about me goes here.

106 |
107 | 108 |
109 |

My Projects

110 |
111 |

Project 1

112 |

Description of project 1.

113 |
114 |
115 |

Project 2

116 |

Description of project 2.

117 |
118 |
119 | 120 |
121 |

Contact Me

122 |
123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 |
131 |
132 | 133 | 134 | -------------------------------------------------------------------------------- /HTML & CSS/Task 4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Overlap Block Layout 7 | 8 | 48 | 49 | 50 |
51 |
Block 1
52 |
Block 2
53 |
54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /HTML & CSS/Task 5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Drag and Drop Files 7 | 8 | 50 | 51 | 52 |
53 |
54 | 55 | or drop files here 56 |
57 |
58 | 59 | 60 | -------------------------------------------------------------------------------- /HTML & CSS/Task 6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | YouTube Video Embed 7 | 8 | 35 | 36 | 37 |
38 |

Embed the YouTube video

39 |
40 | 41 |
42 |
43 | 44 | 45 | -------------------------------------------------------------------------------- /HTML & CSS/Task 7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Book Review Page 7 | 8 | 66 | 67 | 68 |
69 |

Book Review

70 |
71 |

Book Title

72 |

73 | Author: Author Name 74 |

75 |

76 | Review: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam non urna nec eros convallis facilisis. 77 |

78 |
79 |
80 | 81 | 82 | -------------------------------------------------------------------------------- /HTML & CSS/Task 8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CSS Grid Layout 7 | 34 | 35 | 36 |
37 |
Box 1
38 |
Box 2
39 |
Box 3
40 |
Box 4
41 |
Box 5
42 |
Box 6
43 |
44 | 45 | 46 | -------------------------------------------------------------------------------- /HTML & CSS/Task 9.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Newsletter Subscription 7 | 66 | 67 | 68 |
69 |

Subscribe to Our Newsletter

70 |
71 | 72 | 73 | 74 |
75 |
76 | 77 | 78 | -------------------------------------------------------------------------------- /Internship Project/Internship Project Documentation.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/Internship Project Documentation.pdf -------------------------------------------------------------------------------- /Internship Project/Project Screenshots/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/Project Screenshots/1.png -------------------------------------------------------------------------------- /Internship Project/Project Screenshots/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/Project Screenshots/2.png -------------------------------------------------------------------------------- /Internship Project/Project Screenshots/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/Project Screenshots/3.png -------------------------------------------------------------------------------- /Internship Project/Project Screenshots/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/Project Screenshots/4.png -------------------------------------------------------------------------------- /Internship Project/Project Screenshots/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/Project Screenshots/5.png -------------------------------------------------------------------------------- /Internship Project/Project Screenshots/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/Project Screenshots/6.png -------------------------------------------------------------------------------- /Internship Project/Project Screenshots/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/Project Screenshots/7.png -------------------------------------------------------------------------------- /Internship Project/Project Screenshots/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/Project Screenshots/8.png -------------------------------------------------------------------------------- /Internship Project/Project Screenshots/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/Project Screenshots/9.png -------------------------------------------------------------------------------- /Internship Project/__pycache__/database.cpython-312.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/__pycache__/database.cpython-312.pyc -------------------------------------------------------------------------------- /Internship Project/__pycache__/database.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/__pycache__/database.cpython-39.pyc -------------------------------------------------------------------------------- /Internship Project/database.py: -------------------------------------------------------------------------------- 1 | import sqlite3 2 | 3 | def init_db(): 4 | conn = sqlite3.connect('db/hireme.db') 5 | cursor = conn.cursor() 6 | 7 | # Makse sure to paste your sql create query of students inside the literals('''''') 8 | cursor.execute('''CREATE TABLE IF NOT EXISTS students ( 9 | usn TEXT PRIMARY KEY NOT NULL, 10 | student_name TEXT NOT NULL, 11 | contact_number TEXT NOT NULL, 12 | college_name TEXT NOT NULL, 13 | branch TEXT NOT NULL, 14 | skills TEXT, 15 | email_id TEXT NOT NULL, 16 | password TEXT NOT NULL); 17 | ''') 18 | # Makse sure to paste your sql create query of recruiters inside the literals('''''') 19 | cursor.execute('''CREATE TABLE IF NOT EXISTS recruiters( 20 | id INTEGER PRIMARY KEY AUTOINCREMENT, 21 | username TEXT NOT NULL, 22 | password TEXT NOT NULL, 23 | first_name TEXT NOT NULL, 24 | last_name TEXT NOT NULL, 25 | company TEXT NOT NULL, 26 | phone_number TEXT NOT NULL, 27 | email_id TEXT NOT NULL); 28 | ''') 29 | 30 | # Makse sure to paste your sql create query of jobs inside the literals('''''') 31 | 32 | cursor.execute('''CREATE TABLE IF NOT EXISTS jobs( 33 | id INTEGER PRIMARY KEY AUTOINCREMENT, 34 | job_role TEXT NOT NULL, 35 | company TEXT NOT NULL, 36 | package TEXT NOT NULL, 37 | job_description TEXT NOT NULL); 38 | ''') 39 | 40 | # Makse sure to paste your sql create query of student_applications inside the literals('''''') 41 | 42 | cursor.execute('''CREATE TABLE IF NOT EXISTS student_applications( 43 | id INTEGER PRIMARY KEY AUTOINCREMENT, 44 | usn TEXT NOT NULL, 45 | job_id INTEGER NOT NULL, 46 | status TEXT DEFAULT 'applied', 47 | FOREIGN KEY (usn) REFERENCES students(usn), 48 | FOREIGN KEY (job_id) REFERENCES jobs(id), 49 | UNIQUE(usn,job_id)); 50 | ''') 51 | 52 | conn.commit() 53 | conn.close() 54 | -------------------------------------------------------------------------------- /Internship Project/db/hireme.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/db/hireme.db -------------------------------------------------------------------------------- /Internship Project/pythonfiles/Student_home.py: -------------------------------------------------------------------------------- 1 | import sqlite3 2 | def get_jobs_by_application_status(usn): 3 | conn1 = sqlite3.connect('db/hireme.db') 4 | cursor1 = conn1.cursor() 5 | cursor1.execute(''' SELECT jobs.*, CASE WHEN student_applications.job_id IS NOT NULL THEN 'applied' ELSE 'not applied' END AS status FROM jobs LEFT JOIN student_applications ON jobs.id = student_applications.job_id AND student_applications.usn = ?''', (usn,)) 6 | jobs = cursor1.fetchall() 7 | conn1.close() 8 | categorized_jobs = { 9 | "not_applied": [dict(id=job[0], job_role=job[1], company=job[2], package=job[3], job_description=job[4]) for job in jobs if job[-1] == 'not applied'], 10 | "applied": [dict(id=job[0], job_role=job[1], company=job[2], package=job[3], job_description=job[4]) for job in jobs if job[-1] == 'applied']} 11 | return categorized_jobs 12 | def apply_job(usn, job_id): 13 | conn2 = sqlite3.connect('db/hireme.db') 14 | cursor2 = conn2.cursor() 15 | cursor2.execute('''INSERT INTO student_applications (usn, job_id)VALUES (?, ?)''', (usn, job_id)) 16 | conn2.commit() 17 | conn2.close() 18 | def fetch_job_details(job_id): 19 | conn3 = sqlite3.connect('db/hireme.db') 20 | cursor3 = conn3.cursor() 21 | cursor3.execute('SELECT * FROM jobs WHERE id =?', (job_id,)) 22 | job = cursor3.fetchone() 23 | conn3.close() 24 | if job: 25 | return { 26 | "job_role": job[1], 27 | "company": job[2], 28 | "package": job[3], 29 | "job_description": job[4]} 30 | else: 31 | return None 32 | -------------------------------------------------------------------------------- /Internship Project/pythonfiles/Student_reset_pass.py: -------------------------------------------------------------------------------- 1 | import sqlite3 2 | from flask import jsonify, session 3 | def update_student_password(usn, email, new_password): 4 | conn = sqlite3.connect('db/hireme.db') 5 | cursor = conn.cursor() 6 | cursor.execute('SELECT * FROM students WHERE usn = ? AND email_id = ?', (usn, email)) 7 | student = cursor.fetchone() 8 | if student: 9 | cursor.execute('UPDATE students SET password = ? WHERE usn = ?', (new_password, usn)) 10 | conn.commit() 11 | conn.close() 12 | return jsonify({'success': True, 'message': 'Password updated successfully'}), 200 13 | else: 14 | conn.close() 15 | return jsonify({'success': False, 'message': 'Invalid USN or Email ID'}), 404 16 | -------------------------------------------------------------------------------- /Internship Project/pythonfiles/Students_register.py: -------------------------------------------------------------------------------- 1 | import sqlite3 2 | from flask import jsonify 3 | def register_student(usn, name, email, password, confirmPassword, skills, branch, college_name, phone_number): 4 | print(name) 5 | conn = sqlite3.connect('db/hireme.db') 6 | cursor = conn.cursor() 7 | cursor.execute('SELECT * FROM students WHERE usn = ?',(usn,)) 8 | student = cursor.fetchone() 9 | if student: 10 | conn.close() 11 | return jsonify({'redirected': False, 'message': 'User already exists'}) 12 | else: 13 | if password == confirmPassword: 14 | cursor.execute('''INSERT INTO students (usn, student_name, contact_number, college_name, branch, skills, email_id, password) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ''',(usn, name, phone_number, college_name, branch, skills, email, password)) 15 | conn.commit() 16 | conn.close() 17 | return jsonify({'redirected': True, 'url': '/student_login'}) 18 | else: 19 | return jsonify({'redirected': False, 'message': 'Passwords do not match'}) 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Internship Project/pythonfiles/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/pythonfiles/__init__.py -------------------------------------------------------------------------------- /Internship Project/pythonfiles/__pycache__/Students_register.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/pythonfiles/__pycache__/Students_register.cpython-39.pyc -------------------------------------------------------------------------------- /Internship Project/pythonfiles/__pycache__/__init__.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/pythonfiles/__pycache__/__init__.cpython-39.pyc -------------------------------------------------------------------------------- /Internship Project/pythonfiles/__pycache__/create_job.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/pythonfiles/__pycache__/create_job.cpython-39.pyc -------------------------------------------------------------------------------- /Internship Project/pythonfiles/__pycache__/recruiter_register.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/pythonfiles/__pycache__/recruiter_register.cpython-39.pyc -------------------------------------------------------------------------------- /Internship Project/pythonfiles/__pycache__/recruiterslogin.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/pythonfiles/__pycache__/recruiterslogin.cpython-39.pyc -------------------------------------------------------------------------------- /Internship Project/pythonfiles/__pycache__/report.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/pythonfiles/__pycache__/report.cpython-39.pyc -------------------------------------------------------------------------------- /Internship Project/pythonfiles/__pycache__/students_login.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/pythonfiles/__pycache__/students_login.cpython-39.pyc -------------------------------------------------------------------------------- /Internship Project/pythonfiles/create_job.py: -------------------------------------------------------------------------------- 1 | import sqlite3 2 | 3 | 4 | def add_job(job_role, company, package, job_description): 5 | conn2 = sqlite3.connect('db/hireme.db') 6 | cursor2 = conn2.cursor() 7 | cursor2.execute('''INSERT INTO jobs (job_role, company, package, 8 | job_description) VALUES (?, ?, ?, ?)''', 9 | (job_role, company, package, job_description)) 10 | conn2.commit() 11 | conn2.close() 12 | -------------------------------------------------------------------------------- /Internship Project/pythonfiles/rec_forgotpassword.py: -------------------------------------------------------------------------------- 1 | import sqlite3 2 | from flask import jsonify 3 | def update_password(username, new_password): 4 | conn = sqlite3.connect('db/hireme.db') 5 | cursor = conn.cursor() 6 | cursor.execute("SELECT * FROM recruiters WHERE username = ? OR email_id = ?", (username, username)) 7 | recruiter = cursor.fetchone() 8 | if recruiter: 9 | cursor.execute("UPDATE recruiters SET password = ? WHERE username = ? OR email_id = ?", (new_password, username, username)) 10 | conn.commit() 11 | conn.close() 12 | return jsonify({'success': True, 'message': 'Password updated successfully', 'url': '/recruiter_login'}) 13 | else: 14 | conn.close() 15 | return jsonify({'success': False, 'message': 'User not found'}) 16 | -------------------------------------------------------------------------------- /Internship Project/pythonfiles/recruiter_home.py: -------------------------------------------------------------------------------- 1 | import sqlite3 2 | def get_all_jobs(): 3 | conn1 = sqlite3.connect('db/hireme.db') 4 | cursor1 = conn1.cursor() 5 | cursor1.execute('SELECT * FROM jobs') 6 | jobs = cursor1.fetchall() 7 | conn1.close() 8 | return jobs 9 | -------------------------------------------------------------------------------- /Internship Project/pythonfiles/recruiter_register.py: -------------------------------------------------------------------------------- 1 | from flask import Flask, request, jsonify 2 | import sqlite3 3 | def register_recruiter(username, firstname, lastname, email, password, confirmPassword, company, phone_number): 4 | conn = sqlite3.connect('db/hireme.db') 5 | cursor = conn.cursor() 6 | cursor.execute("SELECT * FROM recruiters WHERE username = ?", (username,)) 7 | recruiter = cursor.fetchone() 8 | if recruiter: 9 | conn.close() 10 | return jsonify({'redirected': False, 'message': 'User already exists'}) 11 | else: 12 | if password == confirmPassword: 13 | cursor.execute('''INSERT INTO recruiters (username, first_name, last_name, email_id, password, company, phone_number)VALUES (?, ?, ?, ?, ?, ?, ?)''',(username, firstname, lastname, email, password, company, phone_number)) 14 | conn.commit() 15 | conn.close() 16 | return jsonify({'redirected': True, 'url': '/recruiter_login'}) 17 | else: 18 | return jsonify({'redirected': False, 'message': 'Passwords do not match'}) 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Internship Project/pythonfiles/recruiterslogin.py: -------------------------------------------------------------------------------- 1 | import sqlite3 2 | from flask import jsonify 3 | 4 | def check_recruiter_login(username, password): 5 | conn = sqlite3.connect('db/hireme.db') 6 | cursor = conn.cursor() 7 | 8 | cursor.execute('SELECT * FROM recruiters WHERE username = ? AND password = ?', (username, password)) 9 | recruiter = cursor.fetchone() 10 | 11 | conn.close() 12 | 13 | if recruiter: 14 | return jsonify({'redirected': True, 'url': '/recruiter_home'}) 15 | else: 16 | return jsonify({'redirected': False}) 17 | -------------------------------------------------------------------------------- /Internship Project/pythonfiles/report.py: -------------------------------------------------------------------------------- 1 | import sqlite3 2 | def generate_report(): 3 | conn = sqlite3.connect('db/hireme.db') 4 | cursor = conn.cursor() 5 | jobsdata = cursor.execute('SELECT * FROM jobs').fetchall() 6 | appliedData = cursor.execute('SELECT * FROM student_applications').fetchall() 7 | studentData = cursor.execute('SELECT * FROM students').fetchall() 8 | conn.close() 9 | report_data = [] 10 | for app in appliedData: 11 | student = next((s for s in studentData if s[0] == app[1]), None) 12 | job = next((j for j in jobsdata if j[0] == app[2]), None) 13 | if student and job: 14 | report_data.append({ 15 | 'student_name': student[1], 16 | 'college': student[3], 17 | 'job_role': job[1], 18 | 'company': job[2], 19 | 'package': job[3], 20 | 'status': app[3]}) 21 | return report_data 22 | 23 | -------------------------------------------------------------------------------- /Internship Project/pythonfiles/students_login.py: -------------------------------------------------------------------------------- 1 | import sqlite3 2 | from flask import jsonify, session 3 | def check_student_login(usn, password): 4 | conn = sqlite3.connect('db/hireme.db') 5 | cursor = conn.cursor() 6 | cursor.execute('SELECT * FROM students WHERE usn = ? AND password = ?', (usn, password)) 7 | student = cursor.fetchone() 8 | if student: 9 | session['usn'] = usn 10 | session['student_name'] = student[1] 11 | conn.close() 12 | return jsonify({'redirected': True, 'url': '/student_home'}) 13 | else: 14 | conn.close() 15 | return jsonify({'redirected': False}) 16 | -------------------------------------------------------------------------------- /Internship Project/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/requirements.txt -------------------------------------------------------------------------------- /Internship Project/static/css/create_job.css: -------------------------------------------------------------------------------- 1 | /* Body */ 2 | body { 3 | font-family: 'Mallanna', sans-serif; 4 | margin: 0; 5 | padding: 0; 6 | display: flex; 7 | height: 100vh; 8 | font-size: 18px; 9 | } 10 | 11 | /* Header */ 12 | header { 13 | width: 100%; 14 | height: 60px; 15 | display: flex; 16 | justify-content: space-between; 17 | align-items: center; 18 | border-bottom: 1px solid #cccccc; 19 | padding: 0 20px; 20 | box-sizing: border-box; 21 | position: fixed; 22 | top: 0; 23 | background-color: #ffffff; 24 | z-index: 1000; 25 | font-size: 20px; 26 | } 27 | 28 | /* Header Container */ 29 | .header-container { 30 | display: flex; 31 | align-items: center; 32 | } 33 | 34 | /* Search Job Input */ 35 | #search-job { 36 | padding: 8px; 37 | margin-right: 10px; 38 | font-size: 18px; 39 | } 40 | 41 | /* Aside */ 42 | aside { 43 | width: 200px; 44 | background-color: #f8f8f8; 45 | border-right: 1px solid #cccccc; 46 | height: calc(100vh - 60px); 47 | box-sizing: border-box; 48 | padding-top: 60px; 49 | position: fixed; 50 | top: 60px; 51 | font-size: 18px; 52 | } 53 | 54 | /* Nav, Ul, Li */ 55 | nav ul { 56 | list-style-type: none; 57 | padding: 0; 58 | } 59 | 60 | nav ul li { 61 | padding: 12px 20px; 62 | } 63 | 64 | /* Nav, Ul, Li, A */ 65 | nav ul li a { 66 | text-decoration: none; 67 | color: black; 68 | display: block; 69 | font-size: 18px; 70 | } 71 | 72 | /* Nav, Ul, Li, A Hover */ 73 | nav ul li a:hover { 74 | background-color: #dddddd; 75 | } 76 | 77 | /* Main */ 78 | main { 79 | flex-grow: 1; 80 | padding: 20px; 81 | box-sizing: border-box; 82 | margin-left: 200px; 83 | margin-top: 60px; 84 | font-size: 18px; 85 | } 86 | 87 | /* Form */ 88 | form { 89 | display: flex; 90 | flex-direction: column; 91 | max-width: 400px; 92 | } 93 | 94 | /* Label */ 95 | label { 96 | margin-top: 12px; 97 | font-size: 18px; 98 | } 99 | 100 | /* Input[type="text"] */ 101 | input[type="text"] { 102 | width: 100%; 103 | padding: 12px; 104 | margin-top: 5px; 105 | border: 1px solid #cccccc; 106 | border-radius: 4px; 107 | font-size: 18px; 108 | } 109 | 110 | /* Textarea */ 111 | textarea { 112 | width: 100%; 113 | padding: 12px; 114 | margin-top: 5px; 115 | border: 1px solid #cccccc; 116 | border-radius: 4px; 117 | font-size: 18px; 118 | height: 120px; 119 | } 120 | 121 | /* Button[type="submit"] */ 122 | button[type="submit"] { 123 | width: 120px; 124 | padding: 12px; 125 | background-color: #f0e68c; 126 | border: none; 127 | cursor: pointer; 128 | margin-top: 12px; 129 | align-self: flex-start; 130 | font-size: 18px; 131 | } 132 | 133 | /* Button[type="submit"]:hover */ 134 | button[type="submit"]:hover { 135 | background-color: #e6c349; 136 | } 137 | -------------------------------------------------------------------------------- /Internship Project/static/css/job_details.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: 'Mallanna', sans-serif; 3 | margin: 0; 4 | padding: 0; 5 | box-sizing: border-box; 6 | } 7 | 8 | header { 9 | display: flex; 10 | align-items: center; 11 | justify-content: space-between; 12 | padding: 10px 20px; 13 | background-color: #f5f5f5; 14 | border-bottom: 1px solid #dddddd; 15 | } 16 | 17 | h1 { 18 | margin: 0; 19 | font-size: 24px; 20 | font-weight: bold; 21 | } 22 | 23 | .container { 24 | display: flex; 25 | height: calc(100vh - 60px); 26 | } 27 | 28 | .sidebar { 29 | width: 200px; 30 | padding: 20px; 31 | background-color: #f5f5f5; 32 | border-right: 1px solid #dddddd; 33 | } 34 | 35 | .sidebar h2 { 36 | margin: 0; 37 | font-size: 18px; 38 | font-weight: bold; 39 | } 40 | 41 | .job-details { 42 | flex: 1; 43 | padding: 20px; 44 | } 45 | 46 | .job-details h2 { 47 | margin-top: 0; 48 | } 49 | 50 | button { 51 | padding: 10px 20px; 52 | background-color: #007bff; 53 | color: #ffffff; 54 | border: none; 55 | border-radius: 5px; 56 | cursor: pointer; 57 | } 58 | 59 | button:hover { 60 | background-color: #0056b3; 61 | } 62 | -------------------------------------------------------------------------------- /Internship Project/static/css/rec_forgot_password.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: 'Mallanna', sans-serif; 3 | margin: 0; 4 | padding: 0; 5 | box-sizing: border-box; 6 | background-color: #f5f5f5; 7 | font-size: 18px; 8 | } 9 | 10 | header { 11 | text-align: center; 12 | margin-top: 5%; 13 | } 14 | 15 | header h1 { 16 | margin: 0; 17 | font-size: 32px; 18 | } 19 | 20 | main { 21 | display: flex; 22 | justify-content: center; 23 | align-items: center; 24 | height: calc(100vh - 20%); 25 | text-align: center; 26 | } 27 | 28 | .form-container { 29 | background-color: #D7EBEF; 30 | border: 1px solid black; 31 | padding: 40px; 32 | margin-top: 0; 33 | border-radius: 10px; 34 | box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); 35 | width: 400px; 36 | } 37 | 38 | .form-group { 39 | margin-bottom: 20px; 40 | text-align: left; 41 | } 42 | 43 | label { 44 | margin-bottom: 5px; 45 | font-weight: bold; 46 | color: #333333; 47 | font-size: 20px; 48 | } 49 | 50 | input[type="text"] { 51 | width: 100%; 52 | padding: 12px; 53 | font-size: 20px; 54 | border: 1px solid #cccccc; 55 | border-radius: 5px; 56 | box-sizing: border-box; 57 | } 58 | 59 | input[type="password"] { 60 | width: 100%; 61 | padding: 12px; 62 | font-size: 20px; 63 | border: 1px solid #cccccc; 64 | border-radius: 5px; 65 | box-sizing: border-box; 66 | } 67 | 68 | 69 | input[type="text"]:focus { 70 | border-color: #007bff; 71 | outline: none; 72 | } 73 | input[type="password"]:focus { 74 | border-color: #007bff; 75 | outline: none; 76 | } 77 | 78 | 79 | hr { 80 | border: 1px solid #cccccc; 81 | margin: 20px 0; 82 | } 83 | 84 | button { 85 | background-color: #007bff; 86 | color: #ffffff; 87 | border: none; 88 | padding: 12px 20px; 89 | font-size: 18px; 90 | cursor: pointer; 91 | border-radius: 5px; 92 | width: 100%; 93 | } 94 | 95 | button:hover { 96 | background-color: #0056b3; 97 | } 98 | 99 | p { 100 | margin-top: 20px; 101 | font-size: 20px; 102 | color: #000000; 103 | font-weight: bold; 104 | text-align: center; 105 | } 106 | 107 | -------------------------------------------------------------------------------- /Internship Project/static/css/recruiter_home.css: -------------------------------------------------------------------------------- 1 | /* Body Styles */ 2 | body { 3 | font-family: 'Mallanna', sans-serif; 4 | margin: 0; 5 | padding: 0; 6 | box-sizing: border-box; 7 | } 8 | 9 | /* Header Styles */ 10 | header { 11 | display: flex; 12 | align-items: center; 13 | justify-content: space-between; 14 | padding: 10px 20px; 15 | background-color: #f5f5f5; 16 | border-bottom: 1px solid #dddddd; 17 | } 18 | 19 | /* Header Container Styles */ 20 | .header-container { 21 | display: flex; 22 | align-items: center; 23 | width: 100%; 24 | } 25 | 26 | /* h1 Styles */ 27 | h1 { 28 | margin: 0; 29 | font-size: 24px; 30 | font-weight: bold; 31 | } 32 | 33 | /* Logout Button Styles */ 34 | #logout-btn { 35 | padding: 5px 10px; 36 | background-color: #007bff; 37 | color: #ffffff; 38 | border: none; 39 | border-radius: 5px; 40 | cursor: pointer; 41 | margin-left: 85%; 42 | } 43 | 44 | /* Main Section Styles */ 45 | main { 46 | display: flex; 47 | height: calc(100vh - 60px); 48 | } 49 | 50 | /* Sidebar Styles */ 51 | .sidebar { 52 | width: 200px; 53 | padding: 20px; 54 | background-color: #f5f5f5; 55 | border-right: 1px solid #dddddd; 56 | } 57 | 58 | /* Sidebar h2 Styles */ 59 | .sidebar h2 { 60 | margin: 0; 61 | font-size: 18px; 62 | font-weight: bold; 63 | } 64 | 65 | /* Content Section Styles */ 66 | .content { 67 | flex: 1; 68 | padding: 20px; 69 | } 70 | 71 | /* Table Styles */ 72 | table { 73 | width: 100%; 74 | border-collapse: collapse; 75 | margin-bottom: 20px; 76 | } 77 | 78 | /* Table Header Styles */ 79 | th { 80 | padding: 10px; 81 | border: 1px solid #dddddd; 82 | text-align: left; 83 | background-color: #f5f5f5; 84 | } 85 | 86 | /* Table Data Cell Styles */ 87 | td { 88 | padding: 10px; 89 | border: 1px solid #dddddd; 90 | text-align: left; 91 | } 92 | 93 | /* Report Link Styles */ 94 | #reports { 95 | text-decoration: underline; 96 | margin-top: 10%; 97 | cursor: pointer; 98 | } 99 | 100 | /* Create Job Button Styles */ 101 | #create-job-btn { 102 | padding: 10px 20px; 103 | background-color: #007bff; 104 | color: #ffffff; 105 | border: none; 106 | border-radius: 5px; 107 | cursor: pointer; 108 | } 109 | 110 | /* Back to Index Button Styles */ 111 | #back-to-index { 112 | position: fixed; 113 | bottom: 20px; 114 | right: 20px; 115 | } 116 | 117 | /* Description Column Styles */ 118 | td.description { 119 | text-align: center; 120 | } 121 | 122 | /* View Button Styles */ 123 | .view-btn { 124 | padding: 5px 10px; 125 | background-color: #007bff; 126 | color: #ffffff; 127 | border: none; 128 | border-radius: 5px; 129 | cursor: pointer; 130 | } 131 | 132 | /* View Button Hover Styles */ 133 | .view-btn:hover { 134 | background-color: #0056b3; 135 | } 136 | -------------------------------------------------------------------------------- /Internship Project/static/css/recruiter_job_details.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: 'Mallanna'; 3 | margin: 0; 4 | padding: 0; 5 | box-sizing: border-box; 6 | } 7 | 8 | header { 9 | display: flex; 10 | align-items: center; 11 | justify-content: space-between; 12 | padding: 10px 20px; 13 | background-color: #f5f5f5; 14 | border-bottom: 1px solid #dddddd; 15 | } 16 | 17 | h1 { 18 | margin: 0; 19 | font-size: 24px; 20 | font-weight: bold; 21 | } 22 | 23 | .container { 24 | display: flex; 25 | height: calc(100vh - 60px); 26 | } 27 | 28 | .sidebar { 29 | width: 200px; 30 | padding: 20px; 31 | background-color: #f5f5f5; 32 | border-right: 1px solid #dddddd; 33 | } 34 | 35 | .sidebar h2 { 36 | margin: 0; 37 | font-size: 18px; 38 | font-weight: bold; 39 | } 40 | 41 | .job-details { 42 | flex: 1; 43 | padding: 20px; 44 | } 45 | 46 | .job-details h2 { 47 | margin-top: 0; 48 | } 49 | 50 | button { 51 | padding: 10px 20px; 52 | background-color: #007bff; 53 | color: #ffffff; 54 | border: none; 55 | border-radius: 5px; 56 | cursor: pointer; 57 | } 58 | 59 | button:hover { 60 | background-color: #0056b3; 61 | } 62 | 63 | -------------------------------------------------------------------------------- /Internship Project/static/css/recruiter_login.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: 'Mallanna', sans-serif; 3 | margin: 0; 4 | padding: 0; 5 | box-sizing: border-box; 6 | background-color: #f5f5f5; 7 | } 8 | 9 | header { 10 | text-align: center; 11 | margin-top: 5%; 12 | } 13 | 14 | header h1 { 15 | margin: 0; 16 | font-size: 24px; 17 | } 18 | 19 | main { 20 | display: flex; 21 | justify-content: center; 22 | align-items: center; 23 | height: calc(75vh - 80px); 24 | text-align: center; 25 | } 26 | 27 | .login-container { 28 | background-color: #D7EBEF; 29 | border: 1px solid black; 30 | padding: 40px; 31 | margin-top: 1%; 32 | border-radius: 10px; 33 | box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); 34 | width: 400px; 35 | } 36 | 37 | .form-group { 38 | margin-bottom: 20px; 39 | text-align: left; 40 | padding-bottom: 5%; 41 | } 42 | 43 | label { 44 | margin-bottom: 5px; 45 | padding-bottom: 5%; 46 | font-weight: bold; 47 | color: #333333; 48 | } 49 | 50 | input[type="text"], 51 | input[type="password"] { 52 | width: 100%; 53 | padding: 10px; 54 | border: 1px solid #cccccc; 55 | border-radius: 5px; 56 | box-sizing: border-box; 57 | } 58 | 59 | input[type="text"]:focus, 60 | input[type="password"]:focus { 61 | border-color: #007bff; 62 | outline: none; 63 | } 64 | 65 | hr { 66 | border: 1px solid #cccccc; 67 | margin: 20px 0; 68 | } 69 | 70 | .form-group-buttons { 71 | display: flex; 72 | justify-content: space-between; 73 | gap: 10px; 74 | padding-bottom: 30%; 75 | } 76 | 77 | button { 78 | background-color: #007bff; 79 | color: #ffffff; 80 | border: none; 81 | padding: 10px 20px; 82 | cursor: pointer; 83 | border-radius: 5px; 84 | width: 100%; 85 | flex: 1; 86 | margin: 0 5px; 87 | } 88 | 89 | button:hover { 90 | background-color: #0056b3; 91 | } 92 | 93 | p { 94 | margin-top: 20px; 95 | font-size: 18px; 96 | color: #000000; 97 | font-weight: bold; 98 | text-align: center; 99 | } 100 | -------------------------------------------------------------------------------- /Internship Project/static/css/recruiter_register.css: -------------------------------------------------------------------------------- 1 | body{ 2 | font-family: 'Mallanna'; 3 | background-color: #ffffff; 4 | display: flex; 5 | justify-content: center; 6 | align-items: center; 7 | height: 100vh; 8 | margin:0; 9 | } 10 | .form-container{ 11 | background-color:#D7EBEF; 12 | padding: 5%; 13 | border-radius: 10px; 14 | box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); 15 | width:800px; 16 | height: 700px; 17 | } 18 | form { 19 | display: flex; 20 | flex-direction: column; 21 | } 22 | .form-row{ 23 | display: flex; 24 | justify-content: space-between; 25 | } 26 | .form-column{ 27 | display: flex; 28 | flex-direction: column; 29 | width: 48%; 30 | } 31 | .form-group{ 32 | display: flex; 33 | align-items: center; 34 | margin-bottom: 15%; 35 | margin-right: 5%; 36 | } 37 | #confirm_pass_group{ 38 | margin-top: 48%; 39 | } 40 | label{ 41 | width: 40%; 42 | margin-right: 10px; 43 | text-align: left; 44 | font-weight: bold; 45 | } 46 | input{ 47 | width: 60%; 48 | padding: 8px; 49 | background-color:#EBF5F7; 50 | border: 1px solid #cccccc; 51 | border-radius: 5px; 52 | } 53 | select { 54 | width: 60%; 55 | padding: 8px; 56 | background-color:#EBF5F7; 57 | border: 1px solid #cccccc; 58 | border-radius: 5px; 59 | } 60 | hr{ 61 | margin: 20px 0; 62 | } 63 | button{ 64 | width: 20%; 65 | padding: 10px; 66 | background-color:#2B64D9; 67 | color:white; 68 | border: none; 69 | border-radius: 5px; 70 | cursor: pointer; 71 | margin-left:40%; 72 | margin-bottom: 5%; 73 | } 74 | button:hover{ 75 | background-color: #003ec4; 76 | } 77 | p{ 78 | font-weight: bold; 79 | text-align: center; 80 | margin-top:5%; 81 | font-size: 22px; 82 | color:#555555; 83 | } 84 | h1{ 85 | text-align: center; 86 | margin-left: 10%; 87 | margin-bottom: 7%; 88 | } -------------------------------------------------------------------------------- /Internship Project/static/css/report.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: 'Mallanna', sans-serif; 3 | margin: 0; 4 | padding: 0; 5 | box-sizing: border-box; 6 | } 7 | 8 | header { 9 | display: flex; 10 | align-items: center; 11 | justify-content: space-between; 12 | padding: 10px 20px; 13 | background-color: #f5f5f5; 14 | border-bottom: 1px solid #dddddd; 15 | } 16 | 17 | .header-container { 18 | display: flex; 19 | align-items: center; 20 | width: 100%; 21 | } 22 | 23 | h1 { 24 | margin: 0; 25 | font-size: 24px; 26 | font-weight: bold; 27 | } 28 | 29 | #logout-btn { 30 | padding: 5px 10px; 31 | background-color: #007bff; 32 | color: #ffffff; 33 | border: none; 34 | border-radius: 5px; 35 | cursor: pointer; 36 | margin-left: auto; 37 | } 38 | 39 | main { 40 | display: flex; 41 | height: calc(100vh - 60px); 42 | } 43 | 44 | .sidebar { 45 | width: 200px; 46 | padding: 20px; 47 | background-color: #f5f5f5; 48 | border-right: 1px solid #dddddd; 49 | } 50 | 51 | .sidebar h2 { 52 | margin: 0; 53 | font-size: 18px; 54 | font-weight: bold; 55 | } 56 | 57 | .content { 58 | flex: 1; 59 | padding: 20px; 60 | } 61 | 62 | h2 { 63 | font-size: 22px; 64 | margin-bottom: 20px; 65 | } 66 | 67 | table { 68 | width: 100%; 69 | border-collapse: collapse; 70 | margin-bottom: 20px; 71 | } 72 | 73 | th { 74 | padding: 10px; 75 | border: 1px solid #dddddd; 76 | text-align: left; 77 | background-color: #f5f5f5; 78 | } 79 | 80 | td { 81 | padding: 10px; 82 | border: 1px solid #dddddd; 83 | text-align: left; 84 | } 85 | 86 | #back-to-index { 87 | display: inline-block; 88 | padding: 10px 20px; 89 | background-color: #007bff; 90 | color: #ffffff; 91 | border: none; 92 | border-radius: 5px; 93 | cursor: pointer; 94 | position: absolute; 95 | bottom: 20px; 96 | right: 20px; 97 | } 98 | 99 | #back-to-index:hover { 100 | background-color: #0056b3; 101 | } 102 | -------------------------------------------------------------------------------- /Internship Project/static/css/student_home.css: -------------------------------------------------------------------------------- 1 | body{ 2 | font-family: Arial, sans-serif; 3 | margin: 0; 4 | padding: 0; 5 | box-sizing: border-box; 6 | } 7 | 8 | header{ 9 | display: flex; 10 | align-items: center; 11 | justify-content: space-between; 12 | padding: 10px 20px; 13 | background-color: #f5f5f5; 14 | border-bottom: 1px solid #dddddd; 15 | } 16 | 17 | .header-container{ 18 | display: flex; 19 | align-items: center; 20 | width:100%; 21 | } 22 | 23 | h1{ 24 | margin: 0; 25 | font-size: 24px; 26 | font-weight: bold; 27 | } 28 | 29 | .search-bar{ 30 | padding: 5px; 31 | font-size: 16px; 32 | } 33 | #logout-btn{ 34 | padding: 5px 10px; 35 | background-color: #007bff; 36 | color: #ffffff; 37 | border: none; 38 | border-radius: 5px; 39 | cursor: pointer; 40 | margin-left: 85%; 41 | } 42 | 43 | main{ 44 | display: flex; 45 | height:calc(100vh - 60px); 46 | } 47 | 48 | .sidebar { 49 | width: 200px; 50 | padding: 20px; 51 | background-color: #f5f5f5 ; 52 | border-right: 1px solid #dddddd; 53 | } 54 | 55 | .sidebar h2{ 56 | margin: 0; 57 | font-size: 18px; 58 | font-weight: bold; 59 | } 60 | 61 | .content{ 62 | flex:1; 63 | padding: 20px; 64 | } 65 | 66 | #back-to-index{ 67 | position: fixed; 68 | bottom: 20px; 69 | right: 20px; 70 | } 71 | 72 | .job-list{ 73 | margin-bottom: 20px; 74 | } 75 | 76 | .job-card{ 77 | display: flex; 78 | justify-content: space-between; 79 | align-items: center; 80 | padding: 10px; 81 | margin-bottom: 10px; 82 | border: 1px solid #dddddd; 83 | border-radius: 5px; 84 | background-color: #ffffff; 85 | } 86 | 87 | .job-card div{ 88 | flex:1; 89 | padding: 0 10px; 90 | } 91 | 92 | .job-card button{ 93 | padding: 5px 10px; 94 | background-color: #007bff; 95 | color:#ffffff; 96 | border: none; 97 | border-radius: 5px; 98 | cursor: pointer; 99 | } 100 | 101 | .job-card button:hover{ 102 | background-color: #0056b3; 103 | } 104 | 105 | .job-list h3{ 106 | margin-bottom: 10px; 107 | font-size: 18px; 108 | font-weight: bold; 109 | color: #007bff; 110 | } 111 | -------------------------------------------------------------------------------- /Internship Project/static/css/student_login.css: -------------------------------------------------------------------------------- 1 | /* Body CSS */ 2 | body { 3 | font-family: Arial, sans-serif; 4 | margin: 0; 5 | padding: 0; 6 | box-sizing: border-box; 7 | background-color: #f5f5f5; 8 | } 9 | 10 | /* Header CSS */ 11 | header { 12 | text-align: center; 13 | margin-top: 5%; 14 | } 15 | 16 | /* Header h1 CSS */ 17 | header h1 { 18 | margin: 0; 19 | font-size: 24px; 20 | } 21 | 22 | /* Main CSS */ 23 | main { 24 | display: flex; 25 | justify-content: center; 26 | align-items: center; 27 | height: calc(75vh - 80px); 28 | text-align: center; 29 | } 30 | 31 | /* Login Container CSS */ 32 | .login-container { 33 | background-color: #D7EBEF; 34 | border: 1px solid black; 35 | padding: 40px; 36 | margin-top: 1%; 37 | border-radius: 10px; 38 | box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); 39 | width: 400px; 40 | } 41 | 42 | /* Form Group CSS */ 43 | .form-group { 44 | margin-bottom: 20px; 45 | text-align: left; 46 | padding-bottom: 5%; 47 | } 48 | 49 | /* Label CSS */ 50 | label { 51 | margin-bottom: 5px; 52 | padding-bottom: 5%; 53 | font-weight: bold; 54 | color: #333333; 55 | } 56 | 57 | /* Input[type="text"] CSS */ 58 | input[type="text"], 59 | input[type="password"] { 60 | width: 100%; 61 | padding: 10px; 62 | border: 1px solid #cccccc; 63 | border-radius: 5px; 64 | box-sizing: border-box; 65 | } 66 | 67 | /* Input Focus CSS */ 68 | input[type="text"]:focus, 69 | input[type="password"]:focus { 70 | border-color: #007bff; 71 | outline: none; 72 | } 73 | 74 | /* HR CSS */ 75 | hr { 76 | border: 1px solid #cccccc; 77 | margin: 20px 0; 78 | } 79 | 80 | /* Form Group Buttons CSS */ 81 | .form-group-buttons { 82 | display: flex; 83 | justify-content: space-between; 84 | gap: 10px; 85 | padding-bottom: 30%; 86 | } 87 | 88 | /* Button CSS */ 89 | button { 90 | background-color: #007bff; 91 | color: #ffffff; 92 | border: none; 93 | padding: 10px 20px; 94 | cursor: pointer; 95 | border-radius: 5px; 96 | width: 100%; 97 | flex: 1; 98 | margin: 0 5px; 99 | } 100 | 101 | /* Button Hover CSS */ 102 | button:hover { 103 | background-color: #0056b3; 104 | } 105 | 106 | /* Paragraph CSS */ 107 | p { 108 | margin-top: 20px; 109 | font-size: 18px; 110 | color: #000000; 111 | font-weight: bold; 112 | text-align: center; 113 | } 114 | -------------------------------------------------------------------------------- /Internship Project/static/css/student_register.css: -------------------------------------------------------------------------------- 1 | body{ 2 | font-family:'Mallanna'; 3 | background-color:#ffffff; 4 | display:flex; 5 | justify-content:center; 6 | align-items:center; 7 | height:100vh; 8 | margin:0; 9 | } 10 | .form-container{ 11 | background-color:#D7EBEF; 12 | padding: 5%; 13 | border-radius: 10px; 14 | box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); 15 | width: 800px; 16 | height: 700px; 17 | } 18 | form{ 19 | display:flex; 20 | flex-direction: column; 21 | } 22 | .form-row{ 23 | display: flex; 24 | justify-content:space-between; 25 | } 26 | .form-column { 27 | display: flex; 28 | flex-direction: column; 29 | width: 48%; 30 | } 31 | .form-group{ 32 | display: flex; 33 | align-items: center; 34 | margin-bottom: 15%; 35 | margin-right: 5%; 36 | } 37 | 38 | .form-group-skills{ 39 | display: flex; 40 | align-items: center; 41 | margin-bottom: 2%; 42 | margin-left: 2%; 43 | margin-right: 5%; 44 | } 45 | .form-group-skills select { 46 | width: 66%; 47 | } 48 | label { 49 | width:40%; 50 | margin-right: 10px; 51 | text-align: left; 52 | font-weight: bold; 53 | } 54 | input{ 55 | width:60%; 56 | padding: 8px; 57 | background-color: #EBF5F7; 58 | border: 1px solid #cccccc; 59 | border-radius: 5px; 60 | } 61 | select{ 62 | width:60%; 63 | padding: 8px; 64 | background-color: #EBF5F7; 65 | border: 1px solid #cccccc; 66 | border-radius: 5px; 67 | } 68 | hr{ 69 | margin: 20px 0; 70 | } 71 | button{ 72 | width: 20%; 73 | padding: 10px; 74 | background-color: #2B64D9; 75 | color:white; 76 | border: none; 77 | border-radius: 5px; 78 | cursor: pointer; 79 | margin-left: 40%; 80 | margin-bottom: 5%; 81 | } 82 | button:hover{ 83 | background-color: #003ec4; 84 | } 85 | p{ 86 | font-weight: bold; 87 | text-align: center; 88 | margin-top: 5%; 89 | font-size: 22px; 90 | color: #555555; 91 | } 92 | h1{ 93 | text-align: center; 94 | margin-left: 10%; 95 | margin-bottom: 7%; 96 | } 97 | small{ 98 | margin-left: 50%; 99 | padding-bottom: 32%; 100 | } 101 | 102 | 103 | 104 | -------------------------------------------------------------------------------- /Internship Project/static/css/student_reset_password.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: 'Mallanna'; 3 | margin: 0; 4 | padding: 0; 5 | box-sizing: border-box; 6 | background-color: #f5f5f5; 7 | } 8 | 9 | header { 10 | text-align: center; 11 | margin-top: 5%; 12 | } 13 | 14 | header h1 { 15 | margin: 0; 16 | font-size: 24px; 17 | } 18 | 19 | main { 20 | display: flex; 21 | justify-content: center; 22 | align-items: center; 23 | height: calc(75vh - 80px); 24 | text-align: center; 25 | } 26 | 27 | .reset-container { 28 | background-color: #D7EBEF; 29 | border: 1px solid black; 30 | padding: 40px; 31 | margin-top: 1%; 32 | border-radius: 10px; 33 | box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); 34 | width: 400px; 35 | } 36 | 37 | .form-group { 38 | margin-bottom: 20px; 39 | text-align: left; 40 | } 41 | 42 | label { 43 | margin-bottom: 5px; 44 | font-weight: bold; 45 | color: #333333; 46 | } 47 | 48 | input[type="text"] { 49 | width: 100%; 50 | padding: 10px; 51 | border: 1px solid #cccccc; 52 | border-radius: 5px; 53 | box-sizing: border-box; 54 | } 55 | 56 | input[type="password"] { 57 | width: 100%; 58 | padding: 10px; 59 | border: 1px solid #cccccc; 60 | border-radius: 5px; 61 | box-sizing: border-box; 62 | } 63 | 64 | input[type="text"]:focus { 65 | border-color: #007bff; 66 | outline: none; 67 | } 68 | 69 | input[type="password"]:focus { 70 | border-color: #007bff; 71 | outline: none; 72 | } 73 | 74 | hr { 75 | border: 1px solid #cccccc; 76 | margin: 20px 0; 77 | } 78 | 79 | .form-group-buttons { 80 | text-align: center; 81 | } 82 | 83 | button { 84 | background-color: #007bff; 85 | color: #ffffff; 86 | border: none; 87 | padding: 10px 20px; 88 | cursor: pointer; 89 | border-radius: 5px; 90 | width: 100%; 91 | } 92 | 93 | button:hover { 94 | background-color: #0056b3; 95 | } 96 | 97 | p { 98 | margin-top: 20px; 99 | font-size: 18px; 100 | color: #000000; 101 | font-weight: bold; 102 | } 103 | -------------------------------------------------------------------------------- /Internship Project/static/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/static/images/logo.png -------------------------------------------------------------------------------- /Internship Project/static/js/create_job.js: -------------------------------------------------------------------------------- 1 | document.addEventListener('DOMContentLoaded', function() { 2 | // Retrieve the form element by its id 3 | const createJobForm = document.getElementById('createJobForm'); 4 | 5 | // Add a submit event listener to the form 6 | createJobForm.addEventListener('submit', function(event) { 7 | // Prevent the default form submission 8 | event.preventDefault(); 9 | 10 | // Retrieve form values 11 | const jobRole = document.getElementById('jobRole').value; 12 | const company = document.getElementById('company').value; 13 | const package = document.getElementById('package').value; 14 | const jobDescription = document.getElementById('jobDescription').value; 15 | 16 | // Fetch request to submit the job data 17 | fetch('/api/jobs', { 18 | method: 'POST', 19 | headers: { 20 | 'Content-Type': 'application/json' 21 | }, 22 | body: JSON.stringify({ 23 | job_role: jobRole, 24 | company: company, 25 | package: package, 26 | job_description: jobDescription 27 | }) 28 | }) 29 | .then(response => response.json()) 30 | .then(data => { 31 | // Check if the job creation was successful 32 | if (data.success) { 33 | alert('Job created successfully'); 34 | window.location.href = '/recruiter_home'; 35 | } else { 36 | alert('Failed to create job'); 37 | } 38 | }) 39 | .catch(error => { 40 | console.error('Error:', error); 41 | }); 42 | }); 43 | }); 44 | -------------------------------------------------------------------------------- /Internship Project/static/js/index.js: -------------------------------------------------------------------------------- 1 | document.addEventListener('DOMContentLoaded', function() { 2 | function handleButtonClick (event ) { 3 | window.location.href = event.target.getAttribute('url'); 4 | } 5 | document.getElementById('student-login-btn').addEventListener('click', handleButtonClick); 6 | document.getElementById('recruiter-login-btn').addEventListener('click', handleButtonClick); 7 | document.getElementById('start-career-btn').addEventListener('click', handleButtonClick); 8 | }); 9 | 10 | 11 | -------------------------------------------------------------------------------- /Internship Project/static/js/job_details.js: -------------------------------------------------------------------------------- 1 | document.addEventListener('DOMContentLoaded', function() { 2 | const backButton = document.getElementById('back-to-home'); 3 | backButton.addEventListener('click', function() { 4 | window.location.href = '/student_home'; 5 | }); const jobId = window.location.pathname.split('/').pop(); 6 | fetch(`/api/job_details/${jobId}`) 7 | .then(response => response.json()) 8 | .then(job => { 9 | document.getElementById('jobRole').textContent = `Job Role: ${job.job_role}`; 10 | document.getElementById('company').textContent = `Company: ${job.company}`; 11 | document.getElementById('package').textContent = `Package: ${job.package}`; 12 | document.getElementById('jobDescription').textContent = `Job Description: ${job.job_description}`; 13 | }) .catch(error => { 14 | console.error('Error fetching job details:', error); 15 | document.getElementById('jobRole').textContent = 'Error fetching job details'; 16 | }); 17 | } 18 | -------------------------------------------------------------------------------- /Internship Project/static/js/rec_forgot_password.js: -------------------------------------------------------------------------------- 1 | document.getElementById('forgot_password_form').addEventListener('submit', function(event) { 2 | event.preventDefault(); 3 | const formData = { 4 | username: document.getElementById('username').value, 5 | new_password: document.getElementById('new_password').value, 6 | confirm_password: document.getElementById('confirm_password').value 7 | }; fetch('/forgot_password', { 8 | method: 'POST', 9 | headers: { 10 | 'Content-Type': 'application/json', 11 | }, 12 | body: JSON.stringify(formData) 13 | }) .then(response => response.json()) 14 | .then(data => { 15 | if (data.success) { 16 | alert('Password reset successfully!'); 17 | window.location.href = '/recruiter_login'; 18 | } else { 19 | alert('Error: ' + data.message); 20 | }}) .catch(error => { 21 | console.error('Error:', error); 22 | alert('An unexpected error occurred. Please try again.'); 23 | }); 24 | }); 25 | -------------------------------------------------------------------------------- /Internship Project/static/js/recruiter_home.js: -------------------------------------------------------------------------------- 1 | document.addEventListener('DOMContentLoaded', function() { 2 | const report = document.getElementById('reports'); 3 | 4 | report.addEventListener('click', function(event) { 5 | event.preventDefault(); 6 | window.location.href = '/report'; 7 | }); 8 | 9 | fetch('/api/jobs') 10 | .then(response => response.json()) 11 | .then(data => { 12 | const jobsTable = document.getElementById('jobsTable').getElementsByTagName('tbody')[0]; 13 | 14 | data.forEach(job => { 15 | const row = jobsTable.insertRow(); 16 | row.insertCell(0).textContent = job[0]; 17 | row.insertCell(1).textContent = job[1]; 18 | row.insertCell(2).textContent = job[2]; 19 | row.insertCell(3).textContent = job[3]; 20 | 21 | const descriptionCell = row.insertCell(4); 22 | descriptionCell.classList.add('description'); 23 | 24 | const viewButton = document.createElement('button'); 25 | viewButton.classList.add('view-btn'); 26 | viewButton.textContent = 'View'; 27 | 28 | viewButton.onclick = () => { 29 | window.location.href = `/recruiter/job/${job[0]}`; 30 | }; 31 | 32 | descriptionCell.appendChild(viewButton); 33 | }); 34 | }); 35 | 36 | document.getElementById('create-job-btn').addEventListener('click', function() { 37 | window.location.href = '/create_job_page'; 38 | }); 39 | 40 | document.getElementById('logout-btn').addEventListener('click', function() { 41 | window.location.href = '/'; 42 | }); 43 | }); 44 | -------------------------------------------------------------------------------- /Internship Project/static/js/recruiter_job_details.js: -------------------------------------------------------------------------------- 1 | document.addEventListener('DOMContentLoaded', function() { 2 | const backButton = document.getElementById('back-to-home') 3 | backButton.addEventListener('click', function() { 4 | window.location.href = '/recruiter_home' 5 | }) const jobId = window.location.pathname.split('/').pop() 6 | fetch(`/api/job_details/${jobId}`) 7 | .then(response => response.json()) 8 | .then(job => { 9 | document.getElementById('jobRole').textContent = `Job Role: ${job.job_role}` 10 | document.getElementById('company').textContent = `Company: ${job.company}` 11 | document.getElementById('package').textContent = `Package: ${job.package}` 12 | document.getElementById('jobDescription').textContent = `Job Description: ${job.job_description}`; 13 | }) .catch(error => { 14 | console.error('Error fetching job details:', error) 15 | document.getElementById('jobRole').textContent = 'Error fetching job details' 16 | }) 17 | } 18 | -------------------------------------------------------------------------------- /Internship Project/static/js/recruiter_login.js: -------------------------------------------------------------------------------- 1 | document.addEventListener('DOMContentLoaded', function() { 2 | const loginForm = document.querySelector('#recruiterLoginForm'); 3 | const signupButton = document.getElementById('signupButton'); 4 | const forgotButton = document.getElementById('forgotButton'); 5 | 6 | loginForm.addEventListener('submit', function(event) { 7 | event.preventDefault(); 8 | const username = document.getElementById('username').value; 9 | const password = document.getElementById('password').value; 10 | 11 | fetch('/recruiter_login', { 12 | method: 'POST', 13 | headers: { 14 | 'Content-Type': 'application/json' 15 | }, 16 | body: JSON.stringify({ 17 | username: username, 18 | password: password 19 | }) 20 | }) 21 | .then(response => response.json()) 22 | .then(data => { 23 | if (data.redirected) { 24 | window.location.href = data.url; 25 | } else { 26 | alert('Login failed. Please check your credentials.'); 27 | } 28 | }) 29 | .catch(error => { 30 | console.error('Error:', error); 31 | }); 32 | }); 33 | 34 | signupButton.addEventListener('click', function(event) { 35 | event.preventDefault(); 36 | console.log('it is clicked'); 37 | window.location.href = '/recruiter_register'; 38 | }); 39 | 40 | forgotButton.addEventListener('click', function(event) { 41 | event.preventDefault(); 42 | window.location.href = '/rec_forgot_password'; 43 | }); 44 | }); 45 | -------------------------------------------------------------------------------- /Internship Project/static/js/recruiter_register.js: -------------------------------------------------------------------------------- 1 | document.getElementById('recruiter_register').addEventListener('submit', function(event) { 2 | event.preventDefault(); 3 | const formData= { 4 | username: document.getElementById('username').value, 5 | firstname: document.getElementById('firstname').value, 6 | lastname: document.getElementById('lastname').value, 7 | email: document.getElementById('email').value, 8 | password: document.getElementById('password').value, 9 | confirm_password: document.getElementById('confirm_password').value, 10 | company: document.getElementById('company').value, 11 | phone_number: document.getElementById('phone_number').value 12 | } 13 | fetch('/recruiter_register', { 14 | method: 'POST', 15 | headers: { 16 | 'Content-Type': 'application/json' , 17 | }, body: JSON.stringify(formData) 18 | }).then(response => response.json()) 19 | .then(data => { 20 | if (data.redirected) { 21 | alert('Recruiter registered successfully!'); 22 | window.location.href = data.url; 23 | } else { 24 | alert('Error: ' + data.message); 25 | } }).catch(error => { 26 | console.error('Error:', error); 27 | alert('An unexpected error occurred. Please try again.'); 28 | }); 29 | }); 30 | -------------------------------------------------------------------------------- /Internship Project/static/js/report.js: -------------------------------------------------------------------------------- 1 | document.addEventListener('DOMContentLoaded', () => { 2 | const reportTable = document.querySelector('#reportTable tbody'); 3 | const backbutton = document.getElementById('back-to-index'); 4 | const logoutButton = document.getElementById('logout-btn'); 5 | fetch('/api/report') 6 | .then(response => response.json()) 7 | .then(data => { 8 | data.forEach(item => { 9 | const row = document.createElement('tr'); 10 | row.innerHTML = ` 11 | ${item.student_name} 12 | ${item.college} 13 | ${item.job_role} 14 | ${item.company} 15 | ${item.package} 16 | ${item.status} 17 | `; reportTable.appendChild(row); 18 | });}) backbutton.addEventListener('click', function(event) { 19 | event.preventDefault(); 20 | window.location.href = '/recruiter_home';}) 21 | logoutButton.addEventListener('click', function(event) { 22 | event.preventDefault(); 23 | window.location.href = '/'; 24 | }); 25 | }); 26 | 27 | -------------------------------------------------------------------------------- /Internship Project/static/js/student_home.js: -------------------------------------------------------------------------------- 1 | function createJobCard(job, isApplied) { 2 | const jobCard = document.createElement('div'); 3 | jobCard.className = 'job-card'; 4 | jobCard.innerHTML = ` 5 |
${job.job_role}
6 |
Company: ${job.company}
7 |
Package: ${job.package}
8 | `; 9 | if (!isApplied) { 10 | jobCard.innerHTML += ``; 11 | }return jobCard; 12 | }document.addEventListener('DOMContentLoaded', function() { 13 | const usn = localStorage.getItem('usn'); 14 | if (!usn) { 15 | window.location.href = '/student_login'; 16 | return; 17 | }fetch('/api/jobs_by_status') 18 | .then(response => response.json()) 19 | .then(data => { 20 | if (data.error) { 21 | alert(data.error); 22 | window.location.href = '/student_login'; 23 | return; 24 | }const jobsNotApplied = data.not_applied; 25 | const jobsApplied = data.applied; 26 | const jobsTableNotApplied = document.getElementById('jobsTableNotApplied'); 27 | const jobsTableApplied = document.getElementById('jobsTableApplied'); 28 | jobsNotApplied.forEach(job => { 29 | const jobCard = createJobCard(job, false); 30 | jobsTableNotApplied.appendChild(jobCard); 31 | });jobsApplied.forEach(job => { 32 | const jobCard = createJobCard(job, true); 33 | jobsTableApplied.appendChild(jobCard); 34 | });document.getElementById('studentName').innerText = sessionStorage.getItem('student_name'); 35 | }).catch(error => console.error('Error fetching jobs:', error)); 36 | document.getElementById('logout-btn').addEventListener('click', function() { 37 | fetch('/logout') 38 | .then(() => { 39 | localStorage.removeItem('usn'); 40 | window.location.href = '/'; 41 | }).catch(error => console.error('Error logging out:', error));});}); 42 | function viewJob(jobId) { 43 | window.location.href = `/job/${jobId}`; 44 | } function applyJob(jobId) { 45 | fetch('/api/apply_job', { 46 | method: 'POST', 47 | headers:{ 48 | 'Content-Type': 'application/json' 49 | },body: JSON.stringify({ job_id: jobId }) 50 | }).then(response => response.json()) 51 | .then(data => { 52 | if (data.success) { 53 | alert('Applied successfully!'); 54 | window.location.reload(); 55 | } else { 56 | alert('Failed to apply.'); 57 | }}).catch(error => console.error('Error applying for job:', error)); 58 | -------------------------------------------------------------------------------- /Internship Project/static/js/student_login.js: -------------------------------------------------------------------------------- 1 | document.addEventListener('DOMContentLoaded', function() { 2 | // Retrieve the login form, signup button, and forgot button 3 | const loginForm = document.querySelector('#loginForm'); 4 | const signupButton = document.getElementById('signupButton'); 5 | const forgotButton = document.getElementById('forgotButton'); 6 | 7 | // Add submit event listener to the login form 8 | loginForm.addEventListener('submit', function(event) { 9 | event.preventDefault(); // Prevent the default form submission 10 | 11 | // Retrieve the values of the input fields 12 | const usn = document.getElementById('usn').value; 13 | const password = document.getElementById('password').value; 14 | 15 | // Send a POST request with the login data 16 | fetch('/login', { 17 | method: 'POST', 18 | headers: { 19 | 'Content-Type': 'application/json' 20 | }, 21 | body: JSON.stringify({ 22 | usn: usn, 23 | password: password 24 | }) 25 | }) 26 | .then(response => response.json()) // Parse the response as JSON 27 | .then(data => { 28 | if (data.redirected) { // Check if the user is redirected 29 | localStorage.setItem('usn', usn); // Store the USN in localStorage 30 | window.location.href = data.url; // Redirect to the URL 31 | } else { 32 | alert('Login failed. Please check your credentials.'); // Show error alert 33 | } 34 | }) 35 | .catch(error => { 36 | console.error('Error:', error); // Log any errors to the console 37 | }); 38 | }); 39 | 40 | // Signup button click event listener 41 | signupButton.addEventListener('click', function(event) { 42 | console.log('it is clicked'); // Log to the console 43 | event.preventDefault(); // Prevent the default button behavior 44 | window.location.href = '/student_register'; // Redirect to the signup page 45 | }); 46 | 47 | // Forgot password button click event listener 48 | forgotButton.addEventListener('click', function(event) { 49 | event.preventDefault(); // Prevent the default button behavior 50 | window.location.href = '/reset-password-page'; // Redirect to the reset password page 51 | }); 52 | }); 53 | -------------------------------------------------------------------------------- /Internship Project/static/js/student_register.js: -------------------------------------------------------------------------------- 1 | document.getElementById('student_register').addEventListener('submit', function(event) { 2 | event.preventDefault(); 3 | const formData= { 4 | usn: document.getElementById('usn').value, 5 | name: document.getElementById('name').value, 6 | email: document.getElementById('email').value, 7 | password: document.getElementById('password').value, 8 | confirm_password: document.getElementById('confirm_password').value, 9 | skills: document.getElementById('skills').value, 10 | branch: document.getElementById('branch').value, 11 | college_name: document.getElementById('college_name').value, 12 | phone_number: document.getElementById('phone_number').value 13 | } 14 | fetch('/student_register', { 15 | method: 'POST', 16 | headers: { 17 | 'Content-Type': 'application/json' , 18 | }, body: JSON.stringify(formData) 19 | }).then(response => response.json()) 20 | .then(data => { 21 | if (data.redirected) { 22 | alert('Student registered successfully!'); 23 | window.location.href = data.url; 24 | } else { 25 | console.log("something happened"); 26 | alert('Error: ' + data.message); 27 | } }).catch(error => { 28 | console.error('Error:', error); 29 | alert('An unexpected error occurred. Please try again.'); 30 | }); 31 | }); 32 | -------------------------------------------------------------------------------- /Internship Project/static/js/student_reset_password.js: -------------------------------------------------------------------------------- 1 | document.getElementById('resetPasswordBtn').addEventListener('click', function() { 2 | const usn = document.getElementById('usn').value; 3 | const email = document.getElementById('email').value; 4 | const newPassword = document.getElementById('new_password').value; 5 | if (!usn || !email || !newPassword) { 6 | alert("Please fill in all fields."); 7 | return; 8 | } const data = { 9 | usn: usn, 10 | email: email, 11 | new_password: newPassword 12 | }; fetch('/reset-password', { 13 | method: 'POST', 14 | headers: { 15 | 'Content-Type': 'application/json' 16 | }, body: JSON.stringify(data) 17 | }) .then(response => response.json()) 18 | .then(data => { 19 | if (data.success) { 20 | alert('Password reset successfully!'); 21 | window.location.href = '/student_login'; 22 | } else { 23 | alert('Error: ' + data.message); 24 | }}) .catch(error => { 25 | console.error('Error:', error); 26 | alert('An error occurred while resetting your password.'); 27 | } 28 | -------------------------------------------------------------------------------- /Internship Project/templates/create_job.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Create Job 6 | 7 | 8 | 9 |
10 |
11 |

Hireme

12 |
13 |
14 | 15 | 23 | 24 |
25 |
26 | 27 | 28 |
29 | 30 | 31 | 32 |
33 | 34 | 35 | 36 |
37 | 38 | 39 | 40 |
41 | 42 | 43 |
44 |
45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Internship Project/templates/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | HireMe 7 | 8 | 9 | 10 |
11 |

HireMe

12 |
13 | 14 | 15 | 16 |
17 |
18 |
19 |
20 | Career with Exskilence Logo 21 |
22 |

Find jobs with HireMe

23 |

We will hire you based on your skills

24 |
25 |
26 |
27 |

Top companies trust us

28 |
29 | Deloitee 30 | Meeshoo 31 | TCS 32 | CGI 33 | ITS 34 | HCL 35 | Infosys 36 | L&T 37 | ApnaC 38 | TPS 39 | Figma 40 |
41 |
42 |
43 |
44 |
45 |
46 |
10+
47 |
Companies Hired
48 |
49 |
50 |
50+
51 |
Active students
52 |
53 |
54 |
55 |

Start your career with HireMe Today!

56 | 57 | 58 |
59 |
60 |
61 |
62 | 63 | 64 | -------------------------------------------------------------------------------- /Internship Project/templates/job_details.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Job Details 7 | 8 | 9 |
10 |

Hireme

11 |
12 |
13 | 16 |
17 |

18 |

19 |

20 |

21 | 22 |
23 |
24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Internship Project/templates/rec_forgot_password.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Forgot Password 6 | 7 | 8 | 9 | 10 |
11 |

Reset Your Password?

12 |
13 |
14 |
15 |
16 |
17 | 18 | 19 |
20 |
21 | 22 | 23 |
24 |
25 | 26 | 27 |
28 |
29 | 30 |
31 |
32 |
33 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /Internship Project/templates/recruiter_home.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Recruiter Home 6 | 7 | 8 | 9 |
10 |
11 |

HireMe

12 | 13 |
14 |
15 |
16 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 |
IDJob RoleCompanyPackageJob Description
35 | 36 |
37 |
38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /Internship Project/templates/recruiter_job_details.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Job Details 7 | 8 | 9 |
10 |

HireMe

11 |
12 |
13 | 16 |
17 |

18 |

19 |

20 |

21 | 22 |
23 |
24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Internship Project/templates/recruiter_login.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | HireMe - Recruiter Login 6 | 7 | 8 | 9 |
10 |

Welcome to HireMe

11 |
12 |
13 |
14 |
15 |
16 | 17 | 18 |
19 |
20 | 21 | 22 |
23 |
24 |
25 | 26 | 27 | 28 |
29 |

Start your recruiting journey with HireMe, Today!

30 |
31 |
32 |
33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /Internship Project/templates/recruiter_register.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Recruiter Registration 6 | 7 | 8 | 9 | 10 |
11 |
12 |

13 | HelloWelcome to HireMe 14 |

15 |
16 |
17 |
18 |
19 |
20 |
21 | 22 | 23 |
24 |
25 | 26 | 27 |
28 |
29 | 30 | 31 |
32 |
33 | 34 | 35 |
36 |
37 | 38 | 39 |
40 |
41 |
42 |
43 | 44 | 45 |
46 |
47 | 48 | 49 |
50 |
51 | 52 | 53 |
54 |
55 |
56 |
57 | 58 |
59 |
60 | 63 |
64 | 65 | 66 | -------------------------------------------------------------------------------- /Internship Project/templates/report.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Job Reports 6 | 7 | 8 | 9 |
10 |
11 |

HireMe Reports

12 | 13 |
14 |
15 |
16 | 19 |
20 |

Job Application Report

21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 |
Student NameCollegeJob RoleCompanyPackageApplication Status
34 |
35 | 36 |
37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /Internship Project/templates/student_applications.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Karthikg1908/Full-Stack-Python-Developer-Intern/bd9396edc13b6200a5d90e4d1d096af4e927e737/Internship Project/templates/student_applications.html -------------------------------------------------------------------------------- /Internship Project/templates/student_home.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Student Home 6 | 7 | 8 | 9 |
10 |
11 |

HireMe

12 | 13 |
14 |
15 |
16 | 19 |
20 |
21 |

Jobs to Apply

22 |
23 |
24 |

Jobs Applied

25 |
26 |
27 |
28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /Internship Project/templates/student_login.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | HireMe - Student Login 8 | 9 | 10 | 11 | 12 |
13 |

Welcome to HireMe

14 |
15 | 16 |
17 |
18 |
19 |
20 | 21 | 22 |
23 | 24 |
25 | 26 | 27 |
28 | 29 |
30 | 31 |
32 | 33 | 34 | 35 |
36 |
37 |
38 |
39 | 40 |

Start your career with HireMe, Today!

41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /Internship Project/templates/student_register.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Student Registration 7 | 8 | 9 | 10 | 11 |
12 |
13 |

14 | Hello 15 | Welcome to HireMe 16 |

17 |
18 |
19 |
20 |
21 |
22 |
23 | 24 | 25 |
26 |
27 | 28 | 29 |
30 |
31 | 32 | 33 |
34 |
35 | 36 | 37 |
38 |
39 | 40 | 41 |
42 |
43 |
44 |
45 | 46 | 47 |
48 |
49 | 50 | 51 |
52 |
53 | 54 | 62 |
63 | Select only one skill 64 |
65 | 66 | 67 |
68 |
69 |
70 |
71 | 72 |
73 |
74 | 77 |
78 | 79 | 80 | -------------------------------------------------------------------------------- /Internship Project/templates/student_reset_password.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Reset Password 6 | 7 | 8 | 9 | 10 |
11 |

12 | 13 | Reset Your Password 14 | 15 |

16 |
17 |
18 |
19 |
20 |
21 | 22 | 23 |
24 | 25 |
26 | 27 | 28 |
29 | 30 |
31 | 32 | 33 |
34 |
35 |
36 | 37 |
38 |
39 |
40 |

Get back on track with HireMe

41 |
42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /JavaScript/T1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Background Color Picker 7 | 36 | 37 | 38 | 39 |
40 |

Background Color Picker

41 | 42 |
43 |
44 | 45 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /JavaScript/T10.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | To-Do List 7 | 45 | 46 | 47 | 48 |
49 |

To-Do List

50 | 51 | 52 | 53 |
54 | 55 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /JavaScript/T11.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Name Reverser 7 | 45 | 46 | 47 |
48 |

Name Reverser

49 | 50 | 51 |

52 |
53 | 54 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /JavaScript/T12.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Music Playlist 7 | 45 | 46 | 47 |
48 |

Music Playlist

49 | 50 | 51 | 52 |
53 | 54 | 68 | 69 | 70 | -------------------------------------------------------------------------------- /JavaScript/T13.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Calculator 7 | 62 | 63 | 64 | 65 |
66 | 67 |
68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 |
85 |
86 | 87 | 110 | 111 | 112 | 113 | -------------------------------------------------------------------------------- /JavaScript/T14.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Random Joke Generator 7 | 35 | 36 | 37 | 38 |
39 |

Random Joke Generator

40 | 41 |

42 |
43 | 44 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /JavaScript/T15.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Mad Libs Game 7 | 59 | 60 | 61 | 62 |
63 |

Mad Libs Game

64 |
65 |
66 | 67 | 68 |
69 |
70 | 71 | 72 |
73 |
74 | 75 | 76 |
77 |
78 | 79 | 80 |
81 | 82 |
83 |
84 |
85 | 86 | 103 | 104 | 105 | 106 | -------------------------------------------------------------------------------- /JavaScript/T16.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Word Counter 7 | 36 | 37 | 38 | 39 |

Word Counter

40 | 41 | 42 |

Word Count: 43 | 0 44 |

45 | 46 |

Character Count: 47 | 0 48 |

49 | 50 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /JavaScript/T17.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Age Calculator 7 | 50 | 51 | 52 | 53 |
54 |

Age Calculator

55 | 56 | 57 | 58 |

59 |
60 | 61 | 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /JavaScript/T18.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Pomodoro Timer 7 | 37 | 38 | 39 |
40 |

Pomodoro Timer

41 |
25:00
42 | 43 | 44 |
45 | 46 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /JavaScript/T19.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | TEMPERATURE CONVERTER 7 | 44 | 45 | 46 |
47 |

TEMPERATURE CONVERTER

48 | 49 | 53 | 54 |
55 |
56 | 57 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /JavaScript/T2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Hex to RGB Converter 7 | 55 | 56 | 57 | 58 |
59 |

Hex to RGB Converter

60 | 61 | 62 | 63 |

64 |
65 | 66 | 84 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /JavaScript/T20.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Notes App 7 | 66 | 67 | 68 |

Notes App

69 | 70 | 71 | 72 | 73 | 97 | 98 | 99 | -------------------------------------------------------------------------------- /JavaScript/T21.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Rock Paper Scissors 7 | 45 | 46 | 47 |
48 |

Rock Paper Scissors

49 |
50 | 51 | 52 | 53 |
54 |
55 |
56 | 57 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /JavaScript/T22.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Shopping List 7 | 55 | 56 | 57 | 58 |
59 |

Shopping List

60 |
61 | 62 | 63 |
64 | 65 |
66 | 67 | 83 | 84 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /JavaScript/T23.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Expense Tracker 7 | 53 | 54 | 55 |
56 |

Expense Tracker

57 | 58 | 59 | 60 | 61 |
Total: $0.00
62 |
63 | 64 | 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /JavaScript/T24.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | BMI Calculator 7 | 39 | 40 | 41 |
42 |

BMI Calculator

43 | 44 | 45 | 46 |
47 |
48 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /JavaScript/T25.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Timer 7 | 44 | 45 | 46 |
47 |

Countdown Timer

48 | 49 | 50 |
51 |
52 | 74 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /JavaScript/T26.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Flashcards 7 | 46 | 47 | 48 |
49 |

Flashcards

50 |
51 | 52 | 53 |
54 | 55 | 84 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /JavaScript/T27.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Number Guessing Game 7 | 39 | 40 | 41 |
42 |

Number Guessing Game

43 |

Guess a number between 1 and 100:

44 | 45 | 46 |
47 | 48 |
49 | 50 | 84 | 85 | 86 | 87 | -------------------------------------------------------------------------------- /JavaScript/T3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Countdown to Event 7 | 44 | 45 | 46 | 47 |
48 |

Countdown to Event

49 | 50 | 51 |

52 |
53 | 54 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /JavaScript/T30.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Stopwatch 7 | 37 | 38 | 39 |
40 |

Stopwatch

41 |

00:00:00

42 | 43 | 44 |
45 | 46 | 93 | 94 | 95 | 96 | -------------------------------------------------------------------------------- /JavaScript/T4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Name Formatter 7 | 55 | 56 | 57 | 58 |
59 |

Name Formatter

60 | 61 | 62 | 63 |

64 |
65 | 66 | 80 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /JavaScript/T5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Login Form 7 | 79 | 80 | 81 | 82 |
83 |

Login

84 | 85 |
86 | 87 | 88 |
89 | 90 |
91 | 92 | 93 |
94 | 95 | 96 | 97 |
98 |
99 | 100 | 118 | 119 | 120 | 121 | -------------------------------------------------------------------------------- /JavaScript/T6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Pattern Generator 7 | 43 | 44 | 45 | 46 |
47 |

Pattern Generator

48 | 49 | 50 |
51 |
52 | 53 | 67 | 68 | 69 | 70 | -------------------------------------------------------------------------------- /JavaScript/T7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Weather App 7 | 42 | 43 | 44 | 45 |
46 |

Weather App

47 | 48 | 49 |
50 |
51 | 52 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /JavaScript/T8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Change Text Example 7 | 35 | 36 | 37 | 38 |

Hello User!

39 | 40 | 41 | 42 | 56 | 57 | 58 | 59 | --------------------------------------------------------------------------------