DEV Community

Rushindhra Marri
Rushindhra Marri

Posted on

PlacementPiolt

๐Ÿš€ Placement Preparation Portal โ€” A Simple Companion for Campus Placements

This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend.

What I Built

Campus placements can get hectic very quickly.

Students often have to manage aptitude preparation, DSA, core CS subjects, mock tests, tasks, and job opportunities at the same time. It can become difficult to keep track of what has been completed and what still needs attention.

So, I built a Placement Preparation Portal โ€” a simple web application designed to help students organize their placement preparation in one place.

The main goal was to build something that would actually be useful to a friend going through campus placements.

What the portal provides

  • ๐Ÿ” Student Registration & Login
  • ๐Ÿ“Š Personalized Dashboard
  • ๐Ÿ“š Subject Preparation
  • ๐Ÿ“ Topic and Preparation Tracking
  • โœ… To-Do Task Management
  • ๐Ÿงช Mock Tests
  • โฑ๏ธ Test Timer
  • ๐Ÿ“ˆ Test Scores and Results
  • ๐Ÿ’ผ Job & Internship Listings
  • ๐Ÿ‘จโ€๐Ÿ’ผ Admin Portal
  • ๐Ÿ—ƒ๏ธ Database-backed student progress

Instead of using multiple platforms for different parts of preparation, the idea is to provide a single place where students can organize their placement journey.


Code

The complete source code is available on GitHub:

๐Ÿ‘‰ GitHub Repository: https://github.com/Rushindhra/Placement-Preparation-Portal

The repository contains:

  • Java Servlets
  • DAO layer
  • Model/POJO classes
  • JDBC database connectivity
  • MySQL database schema
  • HTML/CSS frontend
  • Authentication
  • Placement preparation modules
  • Mock test functionality
  • Job management
  • Admin functionality

How I Built It

I wanted to keep the project simple and focus on understanding how a complete Java web application works from the backend to the database.

Tech Stack

Backend

  • Java
  • Java Servlets
  • JDBC

Frontend

  • HTML
  • CSS
  • JavaScript where required

Database

  • MySQL

Server

  • Apache Tomcat

Architecture

  • MVC Architecture
  • DAO Pattern
  • POJO/Model Layer

Project Structure

PlacementPreparationPortal/
โ”‚
โ”œโ”€โ”€ src/
โ”‚   โ””โ”€โ”€ main/
โ”‚       โ””โ”€โ”€ java/
โ”‚           โ””โ”€โ”€ com/
โ”‚               โ””โ”€โ”€ placement/
โ”‚                   โ”‚
โ”‚                   โ”œโ”€โ”€ servlets/
โ”‚                   โ”‚   โ”œโ”€โ”€ LoginServlet.java
โ”‚                   โ”‚   โ”œโ”€โ”€ RegisterServlet.java
โ”‚                   โ”‚   โ”œโ”€โ”€ LogoutServlet.java
โ”‚                   โ”‚   โ”œโ”€โ”€ DashboardServlet.java
โ”‚                   โ”‚   โ”œโ”€โ”€ TaskServlet.java
โ”‚                   โ”‚   โ”œโ”€โ”€ SubjectServlet.java
โ”‚                   โ”‚   โ”œโ”€โ”€ MockTestServlet.java
โ”‚                   โ”‚   โ”œโ”€โ”€ JobServlet.java
โ”‚                   โ”‚   โ””โ”€โ”€ AdminServlet.java
โ”‚                   โ”‚
โ”‚                   โ”œโ”€โ”€ dao/
โ”‚                   โ”‚   โ”œโ”€โ”€ UserDAO.java
โ”‚                   โ”‚   โ”œโ”€โ”€ TaskDAO.java
โ”‚                   โ”‚   โ”œโ”€โ”€ SubjectDAO.java
โ”‚                   โ”‚   โ”œโ”€โ”€ QuestionDAO.java
โ”‚                   โ”‚   โ”œโ”€โ”€ TestResultDAO.java
โ”‚                   โ”‚   โ””โ”€โ”€ JobDAO.java
โ”‚                   โ”‚
โ”‚                   โ”œโ”€โ”€ models/
โ”‚                   โ”‚   โ”œโ”€โ”€ User.java
โ”‚                   โ”‚   โ”œโ”€โ”€ Task.java
โ”‚                   โ”‚   โ”œโ”€โ”€ Subject.java
โ”‚                   โ”‚   โ”œโ”€โ”€ Topic.java
โ”‚                   โ”‚   โ”œโ”€โ”€ Question.java
โ”‚                   โ”‚   โ”œโ”€โ”€ TestResult.java
โ”‚                   โ”‚   โ””โ”€โ”€ Job.java
โ”‚                   โ”‚
โ”‚                   โ””โ”€โ”€ utils/
โ”‚                       โ””โ”€โ”€ DBConnection.java
โ”‚
โ”œโ”€โ”€ webapp/
โ”‚   โ”œโ”€โ”€ index.html
โ”‚   โ”œโ”€โ”€ login.html
โ”‚   โ”œโ”€โ”€ register.html
โ”‚   โ”œโ”€โ”€ dashboard.html
โ”‚   โ”œโ”€โ”€ subjects.html
โ”‚   โ”œโ”€โ”€ tasks.html
โ”‚   โ”œโ”€โ”€ mock-tests.html
โ”‚   โ”œโ”€โ”€ jobs.html
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ admin/
โ”‚   โ”‚   โ”œโ”€โ”€ dashboard.html
โ”‚   โ”‚   โ”œโ”€โ”€ subjects.html
โ”‚   โ”‚   โ”œโ”€โ”€ questions.html
โ”‚   โ”‚   โ””โ”€โ”€ jobs.html
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ css/
โ”‚       โ””โ”€โ”€ style.css
โ”‚
โ””โ”€โ”€ database/
    โ””โ”€โ”€ schema.sql
Enter fullscreen mode Exit fullscreen mode

The application follows a basic MVC approach:

User
 โ†“
HTML/CSS Interface
 โ†“
Java Servlet
 โ†“
DAO Layer
 โ†“
JDBC
 โ†“
MySQL
Enter fullscreen mode Exit fullscreen mode

This separation makes the application easier to understand, maintain, and extend.


๐Ÿ“š Main Modules

1. Authentication

Students can create an account and log in to the portal.

The application maintains the user's session so that their preparation data can be associated with their account.

2. Dashboard

The dashboard gives students a quick overview of their preparation.

For example:

  • Completed tasks
  • Pending tasks
  • Subject progress
  • Mock test performance
  • Available job opportunities

The idea is to make the dashboard the student's starting point whenever they open the portal.

3. Subject Preparation

Students can prepare for important placement areas such as:

  • Aptitude
  • Data Structures & Algorithms
  • Operating Systems
  • DBMS
  • Computer Networks
  • Object-Oriented Programming
  • Other Core CS topics

Topics can be marked as completed so students can keep track of their progress.

4. To-Do Management

Students can create and manage their preparation tasks.

They can:

  • Add tasks
  • View tasks
  • Update tasks
  • Delete tasks
  • Mark tasks as completed

This helps turn placement preparation into smaller and manageable goals.

5. Mock Tests

The portal includes a mock-test module where students can answer multiple-choice questions.

The system can:

  • Display questions
  • Track answers
  • Handle the test timer
  • Calculate scores
  • Store test results
  • Display previous performance

6. Jobs & Internships

The portal also provides a place to manage job and internship opportunities.

Students can view relevant opportunities while preparing for placements.

The admin can add and manage job postings through the admin portal.

7. Admin Portal

The administrator can manage the content available to students.

The admin functionality includes managing:

  • Subjects
  • Topics
  • Questions
  • Mock tests
  • Job/internship opportunities
  • Student-related information

This makes the portal easier to maintain without directly modifying the database every time new content needs to be added.


๐Ÿ—„๏ธ Database

I used MySQL as the database.

The database contains entities such as:

  • Users
  • Tasks
  • Subjects
  • Topics
  • Questions
  • Test Results
  • Jobs
  • Admin

Relationships between these tables allow student-specific preparation data and test results to be stored separately.

JDBC with PreparedStatement is used for database operations.


Why Does Open Innovation Matter?

For this version of the project, I focused on open-source Java technologies and a simple architecture rather than depending on external AI or paid APIs.

Using Java Servlets, JDBC, MySQL, and Apache Tomcat allowed me to understand and build the complete flow myself:

Frontend โ†’ Servlet โ†’ DAO โ†’ JDBC โ†’ MySQL

This also makes the project easy for other students to understand, run locally, modify, and extend.

One of the things I like about open-source development is that a project doesn't have to start as a huge system.

It can start with a simple idea, be built using accessible technologies, and gradually evolve based on real user feedback.


๐Ÿ’ฌ What My Friend Said

I built this project around the problems students face during hectic campus placement seasons, so I also discussed the idea with a friend.

Their feedback was:

"It would be really useful if job posting links and aptitude tests could be provided through the admin portal. Having everything in one place would make preparation easier, especially during hectic on-campus placements."

That feedback helped me focus on making the portal more practical rather than trying to add too many complicated features.

The goal is simple:

Give students one place to organize their placement preparation.


My Agent Session

I used AI-assisted development while working on parts of the project.

Agent Session: YOUR_DEVRELAY_SESSION_LINK

If you don't have a DevRelay session, you can remove this section. I don't want to claim or fabricate an agent session that doesn't exist.


๐Ÿ† Prize Categories

This project is submitted for the Hacktoberfest Weekend Challenge: Build for a Friend.

Partner categories:

Add the applicable categories here, or remove this section if none apply.


What's Next?

This is the first practical version of the portal, and there is plenty of room to improve it.

Some ideas for future versions include:

  • Better progress analytics
  • More comprehensive question banks
  • Company-specific preparation modules
  • Resume tracking
  • Interview preparation
  • More advanced test analytics
  • AI-powered personalized preparation in a future version

For now, I wanted to make sure the core placement preparation workflow actually works before adding more advanced features.

The project started with a simple question:

"Can I make placement preparation a little less confusing for a student?"

This portal is my attempt at doing that. ๐Ÿš€

Top comments (0)