A full-stack placement management platform featuring AI-powered resume analysis, real-time chat, and intelligent candidate search, deployed entirely on Microsoft Azure.
- Student Portal: Enables students to register, authenticate securely, upload their resumes, browse available job postings, and track their application statuses.
- Company Portal: Allows companies to register, authenticate securely, post new jobs, manage applicants, update application statuses, and search for candidates by skills.
- AI Resume Processing: An automated pipeline that takes uploaded student resumes and extracts key insights, specifically identifying technical skills.
- Real-Time Communication: A WebSocket-based chat system enabling instant messaging between candidates and company HR representatives.
- Candidate Intelligence & Search: An intelligent search system that allows companies to discover candidates based on complex skill queries.
- Azure App Service
- Azure SQL Database
- Azure Blob Storage
- Azure AI Document Intelligence
- Azure Functions
- Azure Web PubSub
- Azure Cosmos DB
- Azure Cognitive Search
- Azure Key Vault
- Azure Application Insights & Log Analytics
-
Azure App Service (Web Apps)
- Purpose: Hosts the Express.js Node backend API and serves the production-ready React frontend application.
-
Azure SQL Database
- Purpose: Acts as the primary relational database to securely store structured data such as user profiles (Students/Companies), Job listings, and Application statuses.
-
Azure Blob Storage
- Purpose: Securely manages and stores unstructured binary files, specifically the resume documents (PDFs, DOCX) uploaded by students.
-
Azure AI Document Intelligence (Form Recognizer)
- Purpose: Automatically scans, parses, and extracts critical text and technical skills from the uploaded student resumes, replacing manual data entry.
-
Azure Functions (Serverless)
- Purpose: Runs background, event-driven processes. Specifically, it executes
ResumeProcessorto analyze a resume asynchronously the moment it is uploaded to Blob Storage.
- Purpose: Runs background, event-driven processes. Specifically, it executes
-
Azure Web PubSub
- Purpose: Powers the real-time, bi-directional WebSocket chat features, handling persistent connections without overwhelming the backend server.
-
Azure Cosmos DB
- Purpose: A globally distributed NoSQL database utilized to rapidly store and retrieve high-velocity, unstructured real-time chat message histories.
-
Azure Cognitive Search
- Purpose: Enables advanced, full-text intelligent searching to help companies find candidates based on complex skill matching.
-
Azure Key Vault
- Purpose: Centrally manages and securely stores sensitive application secrets like database passwords, API keys, and connection strings.
-
Azure Application Insights & Log Analytics
- Purpose: Monitors the live application to detect performance anomalies, log application errors, and analyze user telemetry.
- Store structured user data (Students/Companies) securely in Azure SQL Database.
- Use Azure App Service to securely host the frontend client and backend API.
- Incorporate Event-Driven Architecture using Azure Blob Storage and Azure Functions for file processing.
- Provision an Azure SQL Database instance.
- Define relational tables with appropriate fields:
Students(id, email, passwordHash, skills),Companies,Jobs, andApplications. - Secure the databases by restricting network access via Azure Firewall and managing credentials using Azure Key Vault.
- Develop Express.js routes to handle Student and Company registration.
- Hash text passwords using
bcryptbefore storing the user details in the Azure SQL database. - Create an authentication route that verifies credentials and returns JSON Web Tokens (JWT) for secure session management.
- Develop a backend endpoint that accepts file uploads and securely transfers the resumes into Azure Blob Storage.
- Configure a serverless Azure Function using a Blob Trigger to actively watch the storage container.
- Within the function, utilize Azure AI Document Intelligence to analyze the document, extract candidate skills, and update the student's record in the Azure SQL Database.
- Build API controllers allowing Companies to perform CRUD operations on job postings.
- Incorporate Azure Cognitive Search to allow companies to perform complex keyword searches against the pool of student skills.
- Develop endpoints for students to apply for jobs, creating junction records in the
Applicationstable.
- Set up Azure Web PubSub to establish and maintain bi-directional WebSocket connections between the client and server.
- Intercept chat messages and persist them into an Azure Cosmos DB collection for highly available chat history retrieval.
- Test all REST API endpoints using Postman and validate real-time WebSocket communication.
- Deploy the frontend bundle and backend server to their respective Azure App Service instances.
- Enable and monitor live API usage, throughput, and error rates using Azure Application Insights and monitor backend logs using Azure Log Analytics.