0% found this document useful (0 votes)
12 views57 pages

Project Report Format Final

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

Project Report Format Final

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

A

Project Report

On
SIOM Placement Assistant
Submitted by

Mr. Mali Atharva Suryakant


Seat No.: 11295

MCA–I

SEM–II

Under the guidance of

Ms. Kumudini Manwar


For the Academic Year 2023-24

Sinhgad Technical Education Society’s

Sinhgad Institute of Management

Vadgaon Bk Pune 411041

(Affiliated to SPPU Pune & Approved by AICTE New Delhi)


Date:

CERTIFICATE

This is to certify that Mr. Mali Atharva Suryakant has successfully completed
his project work entitled “SIOM Placement Assistant” in partial fulfillment of
MCA – I SEM – II Mini Project for the year 2023-2024. He has worked under
our guidance and direction.

Ms. Kumudini Manwar Dr. Chandrani Singh


Project Guide Director, SIOM-MCA

Examiner 1 Examiner 2

Date:

Place: Pune
DECLARATION

I certify that the work contained in this report is original and has been done by me under
the guidance of my guide.
 The work has not been submitted to any other Institute for any degree or diploma.
 I have followed the guidelines provided by the Institute in preparing the report.
 I have conformed to the norms and guidelines given in the Ethical Code of Conduct of the
Institute.
 Whenever I have used materials (data, theoretical analysis, figures, and text) from other
sources, I have given due credit to them by citing them in the text of the report and giving
their details in the references.

Name and Signature of Project Team Members:

Sr. No. Seat No. Name of students Signature of students

1 11295 Mali Atharva Suryakant


ACKNOWLEDGEMENT

It is very difficult task to acknowledge all those who have been of tremendous help in this

project. I would like to thank my respected guide Ms. Kumudini Manwar for providing me

necessary facilities to complete my project and also for their guidance and encouragement in

completing my project successfully without which it wouldn’t be possible. I wish to convey

my special thanks and immeasurable feelings of gratitude towards Dr. Chandrani Singh,

Director, SIOM-MCA. I wish to convey my special thanks to all teaching and non-teaching

staff members of Sinhgad Institute of Management, Pune for their support.

Thank You

Yours Sincerely,

Mali Atharva Suryakant


INDEX

Sr. No. Chapter Page No.


1 CHAPTER 1: INTRODUCTION
1.1 Abstract 1
1.2 Existing System and Need for System 1
1.3 Scope of System 3
1.4 Operating Environment Hardware and Software 3
1.5 Brief Description of Technology Used 4
2 CHAPTER 2: PROPOSED SYSTEM
2.1 Feasibility Study 6
2.2 Objectives of the proposed system 6
2.3 Users of the system 7
3 CHAPTER 3: ANALYSIS AND DESIGN
3.1 Entity Relationship Diagram (ERD) 9
3.2 Class Diagram 10
3.3 Use Case Diagrams 11
3.4 Activity Diagram 15
3.5 Sequence Diagram 19
3.6 Component Diagram 24
3.7 Module and Hierarchy Diagram 25
3.8 Table Design 26
3.9 Data Dictionary 29
3.10 Sample Input and Output Screens 32 - 42
(Screens must have valid data. All reports must have
at-least 5 valid records.)
4 CHAPTER 4: CODING Sample Code 43
5 CHAPTER 5: LIMITATIONS OF SYSTEM 49
6 CHAPTER 6: PROPOSED ENHANCEMENTS 50
7 CHAPTER 7: CONCLUSION 51
8 CHAPTER 8: BIBLIOGRAPHY 52
1.1 Abstract.
The Web-based SIOM Placement Assistant revolutionizes the manual processes of the
training and placement department by automating data management and matching student
profiles with company requirements. This project aims to provide a user-friendly platform for
students and officers to input and retrieve data efficiently. By addressing the limitations of the
current semi-automated system, this online application streamlines the sorting of student data,
saving time and manpower. It serves as a central repository for student information, facilitating
better management and transparency in the placement process. Overall, the SIOM Placement
Assistant enhances the quality and efficiency of training and placement services, aligning with
organizational goals.

1.2 Existing System and Need for System


1.2.1 Existing System
 Fragmented Data Formatting: The current System relies on manual formatting by the
Training and Placement Officer (TPO) for student data, creating fragmentation and
inefficiencies in data management.
 Delayed Placement Notifications: Placement notifications from the university's TPO
office often experience delays in reaching students, impacting timely awareness about
placement opportunities.
 Lack of Application Data Visibility: The TPO lacks immediate access to the count and
details of students who have applied for placement drives, relying on manual confirmation
through respective Training/Placement coordinators.
 Manual Export of Application Data: Student data applying for campus placement drives
is manually exported in the required document format, contributing to a time-consuming
process.
 Manual Shortlisting Process: The shortlisting of candidates based on their performance in
various rounds is manually performed, causing delays and potential errors in the TPO's
decision-making.
 Excessive Manual Work: The existing system involves a significant amount of manual
work, leading to time-consuming processes and increased potential for errors in data
handling and decision-making.
Recognizing these challenges, our project aims to create a unified, user-friendly,

1
and secure online community and social media platform that addresses these issues and
provides a tailored experience for like-minded individuals and students.

1.2.2 Need for System


The need for the proposed SIOM Placement Assistant System arises from critical
shortcomings in the existing placement management system:
 Unified Data Hub: The current system relies on fragmented manual processes for student
data management, leading to inefficiencies and potential errors. The SIOM Placement
Assistant serves as a unified hub, streamlining data formatting, and enhancing overall data
integrity.
 Timely Placement Notifications: The existing system experiences delays in disseminating
placement notifications to students. The SIOM Placement Assistant aims to ensure timely
and efficient communication, reducing notification delays and ensuring students are
promptly informed about placement opportunities.
 Real-time Application Visibility: The lack of immediate access to the count and details of
students who have applied for placement drives poses challenges. The SIOM Placement
Assistant provides real-time visibility, enabling the TPO to track applications and make
informed decisions efficiently.
 Automated Export of Application Data: The manual export of student data for placement
applications is time-consuming. The SIOM Placement Assistant automates this process,
enhancing efficiency and accuracy in managing student applications.
 Automated Shortlisting Process: The current manual shortlisting process introduces
delays and potential errors. The SIOM Placement Assistant automates the shortlisting of
candidates based on their performance, ensuring a streamlined and error-free selection
process.
 Efficiency through Automation: The proposed system reduces the reliance on manual
processes, introducing automation to streamline tasks, save time, and minimize the risk of
errors in data handling and decision-making.
In conclusion, the need for the SIOM Placement Assistant System is rooted in
addressing the identified challenges of the current placement management system. By
introducing automation, improving communication, and providing real-time data visibility, the
system aims to enhance the efficiency and effectiveness of the placement process at SIOM.

2
1.3 Scope of Project:
The scope of the SIOM Placement Assistant System is designed to revolutionize and
streamline the existing placement management process, addressing key challenges and
enhancing overall efficiency. The scope encompasses the following:
 Unified Data Hub: The SIOM Placement Assistant System will centralize and automate
the management of student data, eliminating manual formatting and fragmentation issues.
This ensures a seamless and error-free data handling process.
 Timely Communication: The system aims to facilitate timely placement notifications to
students, reducing delays and improving overall communication efficiency within the
placement process.
 Real-time Application Tracking: The scope includes the development of features that
provide real-time visibility into the count and details of students applying for placement
drives. This empowers the TPO with immediate access to application data.
 Automated Data Export: The SIOM Placement Assistant will automate the export of
student data for placement applications, streamlining the process and minimizing the
chances of errors.
 Automated Shortlisting: The system will automate the shortlisting process, ensuring a
swift and accurate selection of candidates based on their performance in various rounds.
 Efficiency through Automation: The project scope emphasizes reducing manual work and
introducing automation to enhance efficiency and accuracy in data management and
decision-making.
In conclusion, the scope of the SIOM Placement Assistant System aims to create a
more streamlined, efficient, and automated placement management process, addressing the
identified challenges in the existing system. The project focuses on leveraging technology to
enhance the overall effectiveness of the placement process at SIOM.

1.4 Operating Environment Hardware and Software:


 Server-side requirement

Software Requirement Hardware Requirement


Operating System: Compatible with Processor: Dual-core processor clocked at
Windows (7 or later), macOS, or Linux. 2.5 GHz or higher.
Web Browser: Chrome, Firefox, Safari, or RAM: Minimum 4GB, recommended
Edge for web-based interfaces 8GB or higher.
HDD: 512 GB or above

3
 Client-side requirement

Software Requirement Hardware Requirement


Operating System: Compatible with Processor: Intel Core i3 (or equivalent)
Windows (7 or later), macOS, or Linux. clocked at 1.8 GHz or higher.
RAM: Minimum 4GB, recommended 8GB
Front End: HTML5, CSS3, JavaScript.
or higher.
Back End: PHP, XAMPP Server HDD: 512 GB or above
Database: MySQL Database
Web Browser: Chrome, Firefox, Safari, or
Edge for web-based interfaces

Additional Libraries and Frameworks:


Tailwind CSS, Bootstrap for styling.

1.5 Brief Description of Technology Used

 HTML5:
HTML5 serves as the backbone of the project, providing the structure and semantic markup
necessary for building web pages. Its rich features facilitate the creation of interactive and
multimedia-rich content, enhancing the user experience.
 CSS3:
CSS3 complements HTML5 by enabling precise control over the presentation and styling
of web elements. Leveraging advanced features such as flexbox, grid layout, animations, and
transitions, CSS3 ensures aesthetic coherence and responsiveness across various devices.
 PHP:
PHP, a server-side scripting language, empowers the project with dynamic functionality
and interactivity. Through PHP, server-side processes such as user authentication, data
processing, and database interactions are seamlessly executed, contributing to the application's
functionality and user experience.
 XAMPP Server:
XAMPP serves as the local development environment, integrating Apache, MySQL, PHP,
and Perl. This all-in-one solution streamlines the setup and configuration of the development
environment, facilitating rapid prototyping, testing, and debugging of the web application.
 MySQL Database:
MySQL, a robust relational database management system, forms the backbone of the
application's data storage and retrieval mechanism. Leveraging MySQL, structured data is

4
efficiently stored, queried, and manipulated to meet the application's requirements, ensuring
data integrity and scalability.
 TailwindCSS:
TailwindCSS, a utility-first CSS framework, offers a pragmatic approach to styling web
applications. By providing a comprehensive set of utility classes, TailwindCSS accelerates the
development process, allowing for rapid prototyping and consistent design patterns.
 Bootstrap:
Bootstrap, a popular front-end framework, further enhances the project's design and
responsiveness. Its extensive library of pre-built components, responsive grid system, and
customizable CSS themes expedite the development process while ensuring cross-browser
compatibility and mobile responsiveness.
In conclusion, the integration of HTML5, CSS3, PHP, XAMPP Server, MySQL
Database, TailwindCSS, and Bootstrap has empowered the project to deliver a sophisticated
web application that excels in both functionality and aesthetics. By leveraging the strengths of
each technology, the project ensures a seamless user experience, efficient data management,
and rapid development iterations. This comprehensive stack not only meets the project's
objectives but also establishes a solid foundation for future scalability and innovation in web
development endeavors

5
2.1 Feasibility Study
The feasibility study is useful to evaluate the cost and benefits of the system requested.
The feasibility study tries to anticipate future scenario of software development. There are three
aspects of feasibility study.

2.1.1 Technical Feasibility


The technical feasibility always focuses on the existing computer hardware, software
and personnel. Here the available hardware and software is considered. It also includes the need
for more hardware or software or personnel and possibility of installing such a facility.
Accordingly, the hardware and software installed and the computer is upgraded. The skilled
personnel and their skills are taken into considerations and if required training is given to
operate the system efficiently.

2.1.2 Economic Feasibility


Economic Feasibility considers the cost and benefit analysis of the proposed project.
The benefit is always expected to be over the cost. Economic feasibility is helpful to find the
system development cost and checks whether it is justifiable. For that it checks investigation
cost, software and hardware cost, training cost, salaries, maintenance cost, etc. The hardware
required is already present so there is no need to purchase any hardware. The software is already
present if not as per requirement. It may be purchased this cost must be considered.

2.1.3 Operational Feasibility


Operational Feasibility considers the acceptability of the system. The project may be
rejected due to operational non-feasibility. It checks whether system will be used if it is
developed and implemented, are the users of the system able to handle the system, whether the
proposed system cause any trouble etc. The product can operate smoothly in all types of
environments. It is user friendly so that new users can operate software easily. The developed
software can handle large amount of data and thus it is operationally feasible to use the software.

2.2 Objectives of the system:


The SIOM Placement Assistant aims to address identified needs and fulfill the
system's scope by providing a streamlined and efficient online platform for students, staff, and
administrators in managing placement-related activities. The project objectives are:
 To automate the Training and placement system of the institute.

6
 To reduce the communication gap between TPO cell and the student.
 To manage the details and information of students' placement efficiently.
 Reduce paperwork and create a database of the student.
 To offer real-time updates to students regarding their placement status.
 To allow the generation of customized reports and analytics for the Training and Placement
Cell.

2.3 Users of the System:


1. Admin:
 Description: Administrators in the SIOM Placement Assistant hold significant
responsibility for managing and overseeing the platform's functionality and operations.
They have comprehensive control over system settings, user permissions, and data
management.

 Role:
o View and update system settings and configurations.

o Manage user accounts, including creation, deletion, and permissions.

o Generate reports and analytics to evaluate placement performance and outcomes.

2. Placement Staff:
 Description: Placement staff members are integral to facilitating the placement process
and assisting students in their career endeavors. They work closely with administrators
to coordinate placement activities, liaise with recruiters, and provide guidance and
support to students.

 Role:
o Placement staff can post placement drives, specifying details such as companies, job
roles, and application deadlines.

o They are responsible for updating and managing the placement status of students who
have applied for drives.

o Placement staff generate comprehensive lists of student applications for each placement
drive.

o They have the authority to edit placement drive details as needed, ensuring accuracy
and relevance.

7
3. Student:
 Description: Students are the primary beneficiaries of the SIOM Placement Assistant,
utilizing it to explore job opportunities, showcase their skills and qualifications, and
secure placements in reputed organizations. They rely on the platform to access
placement-related information, connect with recruiters, and navigate their career paths.

 Role:
o View and update personal profile information, including academic records, skills, and
achievements.

o Browse and apply for job openings posted by Placement Cell.

o Upload resumes, cover letters, and other application materials for consideration by
recruiters.

o Receive notifications and updates regarding placement activities, deadlines, and


announcements.

Understanding the distinct roles and responsibilities of administrators, placement staff,


and students is crucial for ensuring the effective functioning and utilization of the SIOM
Placement Assistant. Each user category contributes uniquely to the platform's success in
facilitating placements and fostering career growth opportunities for students.

8
3.1 Entity Relationship Diagram (ERD)

9
3.2 Class Diagram

10
3.3 Use Case Diagrams

 System Level

11
 System Level

12
 Module 1: Profile Module

 Module 2: Placement Drive Module

13
 Module 3: Student Placement Applications

 Module 4: Report Generation

14
3.4 Activity Diagram

 Module 1: Profile Module

15
 Module 2: Placement Drive Module

16
 Module 3: Student Placement Applications

17
 Module 4: Report Generation

18
3.5 Sequence Diagram

 System Level

19
 Module 1: Profile Module

20
 Module 2: Placement Drive Module

21
 Module 3: Student Placement Applications

22
 Module 4: Report Generation

23
3.6 Component Diagram

24
3.7 Module and Hierarchy Diagram

25
3.8 Table Design
1. Table Name: admin
Sr. No. Field Type Size Constraint Description
1 id_admin int 11 PRIMARY KEY Id of Admin
2 username varchar 50 NOT NULL Username of Admin
3 password varchar 50 NOT NULL Password of Admin

2. Table Name: users


Sr. No. Field Type Size Constraint Description
1 id_user int 11 PRIMARY KEY ID of Student
2 firstname varchar 20 NOT NULL Firstname of Student
3 lastname varchar 20 NOT NULL Lastname of Student
4 email varchar 50 NOT NULL Email of Student
5 password varchar 50 NOT NULL Password of Student
6 address text DEFAULT NULL Address of Student
7 city varchar 40 FOREIGN KEY City of Student
8 state varchar 40 FOREIGN KEY State of Student
9 contactno varchar 12 DEFAULT NULL Contact No. of Student
10 qualification varchar 40 DEFAULT NULL Qualification of Student
11 stream varchar 20 DEFAULT NULL Stream of Student
12 passingyear varchar 6 DEFAULT NULL Passing Year of Student
13 dob varchar 12 DEFAULT NULL DOB of Student
14 age varchar 4 DEFAULT NULL Age of Student
15 designation varchar 50 DEFAULT NULL Designation of Student
16 resume varchar 255 DEFAULT NULL Resume path of Student
17 hash varchar 255 DEFAULT NULL Hash value of Student
18 active int 11 NOT NULL Active status of profile
19 aboutme text DEFAULT NULL Students about me details
20 skills text DEFAULT NULL Skills of student
21 hsc varchar 7 NOT NULL HSC Marks of student
22 ssc int 11 NOT NULL SSC Marks of student
23 ug int 11 NOT NULL UG Marks of student
24 pg int 11 NOT NULL PG Marks of student

26
3. Table Name: company
Sr.
Field Type Size Constraint Description
No.
id_compan
1 y int 11 PRIMARY KEY Placement Staff ID
2 name varchar 40 NOT NULL Placement Staff Name
companyna
3 me varchar 40 NOT NULL Placement Staff Designation
4 country varchar 20 NOT NULL Placement Staff Country
5 state varchar 20 NOT NULL Placement Staff State
6 city varchar 20 NOT NULL Placement Staff City
7 contactno varchar 12 NOT NULL Placement Staff Contact No.
8 website varchar 70 NOT NULL Placement Staff Website
9 email varchar 50 NOT NULL Placement Staff Email
10 password varchar 50 NOT NULL Placement Staff Password
DEFAULT Placement Staff About
11 aboutme varchar 255 NULL Details
DEFAULT
12 logo varchar 255 NULL Placement Staff Logo Path
timesta Placement Staff Profile
13 createdAt mp NOT NULL creation timestamp
Placement Staff Profile
14 active int 11 NOT NULL active status

4. Table Name: apply_job_post


Sr. No. Field Type Size Constraint Description
1 id_apply int 11 PRIMARY KEY Application ID
2 id_jobpost int 11 FOREIGN KEY Placement Drive ID
3 id_company int 11 FOREIGN KEY Placement Staff ID
4 id_user int 11 FOREIGN KEY User ID
5 status int 11 NOT NULL Application Status

27
5. Table Name: job_post
Sr.
Field Type Size Constraint Description
No.
1 id_jobpost int 11 PRIMARY KEY Placement Drive ID
2 id_company int 11 NOT NULL Placement Staff ID
3 jobtitle varchar 100 NOT NULL Placement Drive Title
Placement Drive
4 description text NOT NULL Description
minimumsalar
5 y varchar 15 NOT NULL Minimum Salary
maximumsalar
6 y varchar 15 NOT NULL Maximum Salary
7 experience varchar 6 NOT NULL Required Experience
Required
8 qualification varchar 20 NOT NULL Qualification
timestam Drive creation
9 createdat p NOT NULL timestamp

6. Table Name: cities


Sr. No. Field Type Size Constraint Description
1 id int 11 PRIMARY KEY ID of City
2 name varchar 30 NOT NULL Name of City
3 state_id int 11 FOREIGN KEY ID of State

7. Table Name: states


Sr. No. Field Type Size Constraint Description
1 id int 11 PRIMARY KEY ID of State
2 name varchar 30 NOT NULL Name of State
3 country_id int 11 FOREIGN KEY ID of Country

8. Table Name: countries


Sr. No. Field Type Size Constraint Description
1 id int 11 PRIMARY KEY ID of Country
2 sortname varchar 3 NOT NULL Shortname of Country
3 name varchar 150 NOT NULL Name of Country
4 phonecode int 11 NOT NULL Phone Code of Country

28
3.9 Data Dictionary
Sr. Field
No. Name Type Size Constraint Description Table Name
Students about me
1 aboutme text details users
About Placement
2 aboutme varchar 255 Staff company
Active status of users,
3 active int 11 NOT NULL profile company
4 address text Address of Student users
5 age varchar 3 Age of Student users
users,
6 city varchar 40 City Name company
companyn Placement staff
7 ame varchar 40 NOT NULL Name company
Contact No. of users,
8 contactno varchar 11 NOT NULL Student company
9 country varchar 20 NOT NULL Country Name company
country_i
10 d int 11 NOT NULL Country ID states
timesta Created at Date and company,
11 createdAt mp NOT NULL Time job_post
descriptio
12 n text NOT NULL Drive Description job_post
designatio Designation of
13 n varchar 40 Student users
14 dob varchar 12 Date of Birth users
Email of student users,
15 email varchar 50 NOT NULL and staff company
experienc Experience
16 e varchar 3 NOT NULL Required job_post
17 firstname varchar 20 NOT NULL Firstname of User users
18 hash varchar 255 Hash value for user users
Student HSC
19 hsc varchar 5 NOT NULL Marks users
AUTO_INCR
EMENT cities,
PRIMARY Id for state, countries,
20 id int 11 KEY country, city states
21 id_admin int 11 NOT NULL Id of Admin admin
AUTO_INCR
EMENT
PRIMARY apply_job_pos
22 id_apply int 11 KEY Application ID t

29
AUTO_INCR
id_compa EMENT NOT
23 ny int 11 NULL Drive Company ID company
id_compa FOREIGN apply_job_pos
24 ny int 11 KEY Placement Staff ID t, job_post
id_compa
25 ny int 11 NOT NULL Placement Staff ID job_post
FOREIGN Placement Drive apply_job_pos
26 id_jobpost int 11 KEY ID t, job_post
PRIMARY
27 id_user int 11 KEY Id of User users
FOREIGN apply_job_pos
28 id_user int 11 KEY User ID t, users
29 jobtitle varchar 50 NOT NULL Drive Title job_post
30 lastname varchar 20 NOT NULL Lastname of User users
31 logo varchar 255 Logo Path company
maximum
32 salary varchar 15 NOT NULL Maximum Salary job_post
minimum
33 salary varchar 15 NOT NULL Minimum Salary job_post
Placement staff
34 name varchar 40 NOT NULL name company
cities,
Name of Country, countries,
35 name varchar 40 NOT NULL State, City states
passingye Passing year of
36 ar varchar 6 student users
Password of users,
37 password varchar 40 NOT NULL student/staff company
38 pg int 11 NOT NULL Student PG Marks users
phonecod
39 e int 11 NOT NULL Phone Code countries
qualificati Qualification of
40 on varchar 255 student users
qualificati Required
41 on varchar 20 NOT NULL Qualification job_post
42 resume varchar 255 Resume of student users
43 skills text Student skills users
Short Name of
44 sortname varchar 3 NOT NULL Country countries
45 ssc int 11 NOT NULL Student SSC Marks users
46 state varchar 20 State of student users
47 state varchar 20 NOT NULL State Name company
48 state_id int 11 NOT NULL State ID states
apply_job_pos
49 status int 11 NOT NULL Application Status t
50 stream varchar 20 Stream of student users

30
51 ug int 11 NOT NULL Student UG Marks users
Username of
52 username varchar 255 NOT NULL Admin admin
53 website varchar 255 NOT NULL Website company

31
3.10 Sample Input and Output Screens

 Landing Page

 Admin Login Page

32
 Student Login Page

 Staff Login Page

33
 Student Registration Page

 Staff Registration Page

34
 Admin Dashboard

 Staff Dashboard

35
 Student Profile List

 Staff Profile List

36
 Students Application Page

 Placed Students List

37
 Placement Statistics

 Student Applied Drives Page

38
 Edit Profile Page

 Active Drives Page

39
 Drive Details Page

 Resume Generator Page

40
 Post New Drives Page

 Recent Applications Page

41
 Resume Database Page

 Account Settings Page

42
4.1 Sample Code
Placement-Portal-new/adduser.php
<?php

//To Handle Session Variables on This Page


session_start();

//Including Database Connection From db.php file to avoid rewriting in all files
require_once("db.php");

//If user Actually clicked register button


if (isset($_POST)) {

//Escape Special Characters In String First


$firstname = mysqli_real_escape_string($conn, $_POST['fname']);
$lastname = mysqli_real_escape_string($conn, $_POST['lname']);
$address = mysqli_real_escape_string($conn, $_POST['address']);
$city = mysqli_real_escape_string($conn, $_POST['city']);
$state = mysqli_real_escape_string($conn, $_POST['state']);
$contactno = mysqli_real_escape_string($conn, $_POST['contactno']);
$qualification = mysqli_real_escape_string($conn, $_POST['qualification']);
$stream = mysqli_real_escape_string($conn, $_POST['stream']);
$passingyear = mysqli_real_escape_string($conn, $_POST['passingyear']);
$dob = mysqli_real_escape_string($conn, $_POST['dob']);
$age = mysqli_real_escape_string($conn, $_POST['age']);
$designation = mysqli_real_escape_string($conn, $_POST['designation']);
$aboutme = mysqli_real_escape_string($conn, $_POST['aboutme']);
$skills = mysqli_real_escape_string($conn, $_POST['skills']);
$email = mysqli_real_escape_string($conn, $_POST['email']);
$password = mysqli_real_escape_string($conn, $_POST['password']);
//Encrypt Password
$password = base64_encode(strrev(md5($password)));

43
//sql query to check if email already exists or not
$sql = "SELECT email FROM users WHERE email='$email'";
$result = $conn->query($sql);

//if email not found then we can insert new data


if ($result->num_rows == 0) {

//This variable is used to catch errors doing upload process. False means there is some
error and we need to notify that user.
$uploadOk = true;

//Folder where you want to save your resume. THIS FOLDER MUST BE CREATED
BEFORE TRYING
$folder_dir = "uploads/resume/";

//Getting Basename of file. So if your file location is Documents/New


Folder/myResume.pdf then base name will return myResume.pdf
$base = basename($_FILES['resume']['name']);

//This will get us extension of your file. So myResume.pdf will return pdf. If it was
resume.doc then this will return doc.
$resumeFileType = pathinfo($base, PATHINFO_EXTENSION);

//Setting a random non repeatable file name. Uniqid will create a unique name based on
current timestamp. We are using this because no two files can be of same name as it will
overwrite.
$file = uniqid() . "." . $resumeFileType;

//This is where your files will be saved so in this case it will be


uploads/resume/newfilename
$filename = $folder_dir . $file;

//We check if file is saved to our temp location or not.


if (file_exists($_FILES['resume']['tmp_name'])) {
44
//Next we need to check if file type is of our allowed extention or not. I have only
allowed pdf. You can allow doc, jpg etc.
if ($resumeFileType == "pdf") {

//Next we need to check file size with our limit size. I have set the limit size to 5MB.
Note if you set higher than 2MB then you must change your php.ini configuration and change
upload_max_filesize and restart your server
if ($_FILES['resume']['size'] < 500000) { // File size is less than 5MB

//If all above condition are met then copy file from server temp location to uploads
folder.
move_uploaded_file($_FILES["resume"]["tmp_name"], $filename);
} else {
//Size Error
$_SESSION['uploadError'] = "Wrong Size. Max Size Allowed : 5MB";
$uploadOk = false;
}
} else {
//Format Error
$_SESSION['uploadError'] = "Wrong Format. Only PDF Allowed";
$uploadOk = false;
}
} else {
//File not copied to temp location error.
$_SESSION['uploadError'] = "Something Went Wrong. File Not Uploaded. Try Again.";
$uploadOk = false;
}

//If there is any error then redirect back.


if ($uploadOk == false) {
header("Location: register-candidates.php");
exit();
}
45
$hash = md5(uniqid());

//sql new registration insert query


$sql = "INSERT INTO users(firstname, lastname, email, password, address, city, state,
contactno, qualification, stream, passingyear, dob, age, designation, resume, hash, aboutme,
skills) VALUES ('$firstname', '$lastname', '$email', '$password', '$address', '$city', '$state',
'$contactno', '$qualification', '$stream', '$passingyear', '$dob', '$age', '$designation', '$file',
'$hash', '$aboutme', '$skills')";

if ($conn->query($sql) === TRUE) {


// Send Email
//
// *** To Email ***
$to = $email;
//
// *** Subject Email ***
$subject = 'Student Registration Successful ! SIOM Placement Assistant';
//
// *** Content Email ***
$html_template = file_get_contents('email_templates/student_account_success.html');
$html = str_replace('{{firstname}}', $firstname, $html_template);
$html = str_replace('{{lastname}}', $lastname, $html);
$html = str_replace('{{email}}', $email, $html);
$html = str_replace('{{contactno}}', $contactno, $html);
$html = str_replace('{{aboutme}}', $aboutme, $html);
$html = str_replace('{{skills}}', $skills, $html);
$html = str_replace('{{address}}', $address, $html);
$html = str_replace('{{city}}', $city, $html);
$html = str_replace('{{state}}', $state, $html);
$html = str_replace('{{qualification}}', $qualification, $html);
$html = str_replace('{{stream}}', $stream, $html);
$html = str_replace('{{passingyear}}', $passingyear, $html);
$html = str_replace('{{dob}}', $dob, $html);
46
$html = str_replace('{{age}}', $age, $html);
$html = str_replace('{{designation}}', $designation, $html);
//
//*** Head Email ***
$headers = "From: [email protected]\r\n";
$headers .= "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
//you add more headers like Cc, Bcc;

$result = mail($to, $subject, $html, $headers); // \r\n will return new line.

if ($result === TRUE) {

//If data inserted successfully then Set some session variables for easy reference and
redirect to login
$_SESSION['registerCompleted'] = true;
header("Location: login.php");
exit();
}

// //If data inserted successfully then Set some session variables for easy reference and
redirect to login
$_SESSION['registerCompleted'] = true;
header("Location: login-candidates.php");
exit();
} else {
//If data failed to insert then show that error. Note: This condition should not come
unless we as a developer make mistake or someone tries to hack their way in and mess up :D
echo "Error " . $sql . "<br>" . $conn->error;
}
} else {
//if email found in database then show email already exists error.
$_SESSION['registerError'] = true;
header("Location: register-candidates.php");
47
exit();
}

//Close database connection. Not compulsory but good practice.


$conn->close();
} else {
//redirect them back to register page if they didn't click register button
header("Location: register-candidates.php");
exit();
}

48
5.1 Limitations of System:
 Integration Limitations:
Integration with external systems or databases may be limited, restricting the seamless
exchange of data between the SIOM Placement Assistant and other platforms used by students
or recruiters.
 Data Security Concerns:
Despite efforts to ensure data security, there's always a risk of data breaches or cyberattacks,
especially given the sensitive nature of student and company information stored on the platform.
 Scalability Challenges:
As the user base grows, the platform may experience performance issues or slowdowns during
peak usage times, impacting user experience and efficiency.

49
6.1 Proposed Enhancements for System:
 Mobile Application Development:
Develop a mobile application for the SIOM Placement Assistant to enhance accessibility and
user engagement. This app will enable students to access placement-related information,
receive notifications about upcoming opportunities, and interact with the platform seamlessly
while on the go.
 Expanded Multimedia Support:
Enhance multimedia capabilities by adding support for additional file formats, interactive
media, and real-time collaboration tools. This will facilitate a more dynamic and engaging user
experience, allowing students to showcase their skills and achievements in various formats.
 Global Language Support:
Incorporate multilingual support into the SIOM Placement Assistant to make it accessible to a
global audience. By allowing users to interact in their preferred language, this enhancement
will promote inclusivity and diversity within the SIOM community.

50
7.1 Conclusion
In conclusion, the development and implementation of the Web-based SIOM
Placement Assistant mark a significant leap forward in optimizing the operations of the training
and placement department at SIOM. By leveraging modern technologies such as HTML5,
CSS3, PHP, Xampp, Tailwind, and Bootstrap, we have successfully automated tedious manual
processes, thereby enhancing efficiency and transparency in the placement process.
Through this project, we have addressed the limitations of the previous semi-
automated system, streamlining the management of student data and aligning it more closely
with the requirements of recruiting companies. The user-friendly interface not only simplifies
data input and retrieval for students and officers but also serves as a centralized repository for
student information, ensuring better organization and accessibility.
By saving time and manpower previously spent on manual sorting and matching
processes, the SIOM Placement Assistant allows the training and placement department to
focus more on providing quality services to students and forging strong connections with
prospective employers. This not only benefits individual students in their career pursuits but
also contributes to the overall success and reputation of the institution.

51
8.1 Bibliography
8.1.1 Websites

 Tailwind CSS. (n.d.). Tailwind CSS Documentation. Retrieved from


https://tailwindcss.com/docs
 Sinhgad Institute of Management. (n.d.). Institute Website. Retrieved from
https://siom.sinhgad.edu/
 Savitribai Phule Pune University. (n.d.). University Website. Retrieved from
https://www.unipune.ac.in/
 Bootstrap. (n.d.). Bootstrap Documentation. Retrieved from
https://getbootstrap.com/docs/5.3/getting-started/introduction/
 MySQL. (n.d.). MySQL Documentation. Retrieved from https://dev.mysql.com/doc/
 XAMPP Documentation. (n.d.). Apache Friends. Retrieved from
https://www.apachefriends.org/docs/

8.1.2 Books

 “Software Engineering A Practitioner's Approach” by Roger S. Pressman and Bruce


Maxim Edition: 8th edition Publisher: Mc Graw Hill Education (UK) ISBN: 1259253155

 “UML 2.0 in a Nutshell” by Dan Pilone, Neil Pitman Released June 2005 Publisher(s):
O'Reilly Media, Inc. ISBN: 9780596552312

 Efficient MySQL Performance: Best Practices and Techniques by Daniel Nichter


Year: 2022 Edition: 1 Publisher: O'Reilly Media ISBN: 1098105095

52

You might also like