Placement Portal Development
Budget: ₹1,500 – ₹12,500 INR
A WEB DEVELOPER FROM DELHI/NCR (PREFERABLY A GIRL)
You are required to build a Placement Portal Application (PPA) web application that allows Admin (Institute), Companies, and Students to interact with the system based on their roles.
Frameworks to be used
These are the mandatory frameworks on which the project has to be built.
Flask for API
VueJS for UI
VueJS Advanced with CLI (only if required, not necessary)
Jinja2 templates if using CDN only for entry point (not to be used for UI)
Bootstrap for HTML generation and styling (no other CSS framework is allowed)
SQLite for database (no other database is permitted)
Redis for caching
Redis and Celery for batch jobs
Note:
All demos should be possible on your local machine.
Any other framework/library will not be allowed apart from those given above.
The database must be created programmatically (via table creation or model code). Manual database creation (e.g., DB Browser for SQLite) is NOT allowed.
Roles & Functionalities
This platform has three roles:
Admin (Institute Placement Cell)
Admin is the pre-existing superuser of the application.
Can approve or reject company registrations.
Can approve or reject placement drives created by companies.
Can view and manage all students, companies, and placement drives.
Can search for students or companies.
Can blacklist or deactivate companies and students if required.
Can view reports and placement statistics.
Company
Can register their company profile on the platform.
Can create placement drives only after admin approval.
Can view student applications for their placement drives.
Can shortlist students and update application status.
Can schedule interviews and update final selection results.
Student
Can register, log in, and update their profile.
Can view approved placement drives.
Can apply for placement exams/drives created by companies.
Can view application status and placement history.
Key Terminologies
Admin (Institute): A user with the highest level of access who manages companies, students, and placement drives.
Company: An organization registered in the system that conducts placement drives and recruits students.
Student: A user who applies for placement drives and participates in recruitment processes.
Placement Drive: A recruitment event created by a company.
Attributes:
Drive ID
Company ID
Job Title
Job Description
Eligibility Criteria (branch, CGPA, year)
Application Deadline
Status (Pending / Approved / Closed)
Extra fields etc.
Application: A record of a student applying to a placement drive.
Attributes:
Application ID
Student ID
Drive ID
Application Date
Status (Applied / Shortlisted / Selected / Rejected)
Extra fields etc.
Company Profile: Details of a registered company.
Attributes:
Company ID
Company Name
HR Contact
Website
Approval Status
Extra fields etc.
Note: The above tables and fields are not exhaustive. Students can add more tables and fields as per their requirements.
Similar Apps
https://internshala.com/
https://www.indeed.com/
https://angel.co/
Application Wireframe
Placement Portal Application
Note:
The provided wireframe is intended only to illustrate the application's flow and demonstrate what should appear when a user navigates between pages.
Replication of the exact views is NOT mandatory.
Students are encouraged to work on their front-end ideas and designs while maintaining the application's intended functionality and flow.
Core Features
Admin and User Login Functionality
Login/register form for students and companies.
Login only for admin (no admin registration), and this application should have only one admin identified by its role.
Role-based access control and authentication using Flask security (session or token) or JWT based Token.
A unified user model to differentiate all types of user roles.
Admin Functionalities
Admin dashboard showing:
Total number of students
Total number of companies
Total number of placement drives
Admin must pre-exist and be created programmatically after database creation. [No admin registration allowed]
Admin can approve or reject company registrations.
Admin can approve or reject placement drives.
Admin can view all student applications.
Admin can search companies and students.
Admin can blacklist or deactivate companies/students.
Company Functionalities
Companies can register their company profile.
Company dashboard showing:
Company details
Created placement drives
Number of applicants per placement drive
Companies can create placement drives (only after approval from admin).
Companies can view and manage student applications.
Companies can shortlist students and update selection status.
Student Functionalities
Students have to self-register and login.
Student dashboard showing:
All approved placement drives
Eligibility-based filtering or Searching
Students can apply for placement drives.
Students can view application status.
Students can view past placement history.
Students can edit their profile and upload resume.
Backend Jobs
a. Scheduled Job - Daily reminders - The application should send daily reminders to users on g-chat using Google Chat Webhooks or SMS or mail
Send reminders to students about upcoming application deadlines.
Can be sent via email, SMS, or chat webhook.
Runs daily at a chosen time.
b. Scheduled Job - Monthly Activity Report - Devise a monthly report for the Admin created using HTML and sent via mail.
Generate monthly placement activity reports for the institute.
Includes:
Number of drives conducted
Number of students applied and selected
Report generated on the first day of every month.
Sent to admin via email.
c. User Triggered Async Job – Export Applications as CSV
Students can export their placement application history.
CSV should include:
Student ID
Company Name
Drive Title
Application Status
Dates
Export is triggered from the student dashboard.
This should trigger a batch job, and send an alert once done.
Performance and Caching
Add caching where required to improve performance.
Implement cache expiry.
Optimize API response times.
Other Core Functionalities
Prevent students from applying multiple times to the same drive.
Update application status dynamically.
Eligibility validation before allowing applications.
Admin and students should be able to search companies and drives.
Maintain complete placement history for each student.
You are required to build a Placement Portal Application (PPA) web application that allows Admin (Institute), Companies, and Students to interact with the system based on their roles.
Frameworks to be used
These are the mandatory frameworks on which the project has to be built.
Flask for API
VueJS for UI
VueJS Advanced with CLI (only if required, not necessary)
Jinja2 templates if using CDN only for entry point (not to be used for UI)
Bootstrap for HTML generation and styling (no other CSS framework is allowed)
SQLite for database (no other database is permitted)
Redis for caching
Redis and Celery for batch jobs
Note:
All demos should be possible on your local machine.
Any other framework/library will not be allowed apart from those given above.
The database must be created programmatically (via table creation or model code). Manual database creation (e.g., DB Browser for SQLite) is NOT allowed.
Roles & Functionalities
This platform has three roles:
Admin (Institute Placement Cell)
Admin is the pre-existing superuser of the application.
Can approve or reject company registrations.
Can approve or reject placement drives created by companies.
Can view and manage all students, companies, and placement drives.
Can search for students or companies.
Can blacklist or deactivate companies and students if required.
Can view reports and placement statistics.
Company
Can register their company profile on the platform.
Can create placement drives only after admin approval.
Can view student applications for their placement drives.
Can shortlist students and update application status.
Can schedule interviews and update final selection results.
Student
Can register, log in, and update their profile.
Can view approved placement drives.
Can apply for placement exams/drives created by companies.
Can view application status and placement history.
Key Terminologies
Admin (Institute): A user with the highest level of access who manages companies, students, and placement drives.
Company: An organization registered in the system that conducts placement drives and recruits students.
Student: A user who applies for placement drives and participates in recruitment processes.
Placement Drive: A recruitment event created by a company.
Attributes:
Drive ID
Company ID
Job Title
Job Description
Eligibility Criteria (branch, CGPA, year)
Application Deadline
Status (Pending / Approved / Closed)
Extra fields etc.
Application: A record of a student applying to a placement drive.
Attributes:
Application ID
Student ID
Drive ID
Application Date
Status (Applied / Shortlisted / Selected / Rejected)
Extra fields etc.
Company Profile: Details of a registered company.
Attributes:
Company ID
Company Name
HR Contact
Website
Approval Status
Extra fields etc.
Note: The above tables and fields are not exhaustive. Students can add more tables and fields as per their requirements.
Similar Apps
https://internshala.com/
https://www.indeed.com/
https://angel.co/
Application Wireframe
Placement Portal Application
Note:
The provided wireframe is intended only to illustrate the application's flow and demonstrate what should appear when a user navigates between pages.
Replication of the exact views is NOT mandatory.
Students are encouraged to work on their front-end ideas and designs while maintaining the application's intended functionality and flow.
Core Features
Admin and User Login Functionality
Login/register form for students and companies.
Login only for admin (no admin registration), and this application should have only one admin identified by its role.
Role-based access control and authentication using Flask security (session or token) or JWT based Token.
A unified user model to differentiate all types of user roles.
Admin Functionalities
Admin dashboard showing:
Total number of students
Total number of companies
Total number of placement drives
Admin must pre-exist and be created programmatically after database creation. [No admin registration allowed]
Admin can approve or reject company registrations.
Admin can approve or reject placement drives.
Admin can view all student applications.
Admin can search companies and students.
Admin can blacklist or deactivate companies/students.
Company Functionalities
Companies can register their company profile.
Company dashboard showing:
Company details
Created placement drives
Number of applicants per placement drive
Companies can create placement drives (only after approval from admin).
Companies can view and manage student applications.
Companies can shortlist students and update selection status.
Student Functionalities
Students have to self-register and login.
Student dashboard showing:
All approved placement drives
Eligibility-based filtering or Searching
Students can apply for placement drives.
Students can view application status.
Students can view past placement history.
Students can edit their profile and upload resume.
Backend Jobs
a. Scheduled Job - Daily reminders - The application should send daily reminders to users on g-chat using Google Chat Webhooks or SMS or mail
Send reminders to students about upcoming application deadlines.
Can be sent via email, SMS, or chat webhook.
Runs daily at a chosen time.
b. Scheduled Job - Monthly Activity Report - Devise a monthly report for the Admin created using HTML and sent via mail.
Generate monthly placement activity reports for the institute.
Includes:
Number of drives conducted
Number of students applied and selected
Report generated on the first day of every month.
Sent to admin via email.
c. User Triggered Async Job – Export Applications as CSV
Students can export their placement application history.
CSV should include:
Student ID
Company Name
Drive Title
Application Status
Dates
Export is triggered from the student dashboard.
This should trigger a batch job, and send an alert once done.
Performance and Caching
Add caching where required to improve performance.
Implement cache expiry.
Optimize API response times.
Other Core Functionalities
Prevent students from applying multiple times to the same drive.
Update application status dynamically.
Eligibility validation before allowing applications.
Admin and students should be able to search companies and drives.
Maintain complete placement history for each student.