A comprehensive web application designed to bridge the gap between students and recruiters, streamlining the campus placement process. This portal enables companies to post job openings and manage applications, while allowing students to showcase their profiles, upload resumes, and apply for jobs seamlessly.
- User Authentication: Secure Sign Up and Login functionality.
- Profile Management: Create and update professional profiles with details like college, CGPA, and skills.
- Resume Management: Upload and share resume links.
- Job Discovery: Browse and filter verified job postings based on skills and preferences.
- Application Tracking: Monitor the status of job applications (Pending, Shortlisted, Rejected).
- Talent Search: Access a database of public student resumes.
- Applicant Management: View and manage students who have applied to specific job postings.
- Skill Filtering: Filter candidates based on specific skill sets.
- Job Management: Create and publish detailed job descriptions, including roles, stipends, and required skills.
- Role-Based Access Control (RBAC): Distinct dashboards and permissions for Students and Companies.
- Skill Matching: Intelligent filtering to match candidates with job requirements.
- Secure Data: JWT-based authentication ensures data privacy and security.
- Framework: React.js (Vite)
- Styling: Tailwind CSS
- Icons: Lucide React
- Animations: Framer Motion
- Routing: React Router DOM
- Runtime: Node.js
- Framework: Express.js
- Database: PostgreSQL
- ORM: Prisma
- Authentication: JWT (JSON Web Tokens) & bcryptjs
- Frontend: Vercel
- Backend: Render
Follow these steps to set up the project locally.
- Node.js (v18 or higher)
- npm or yarn
- PostgreSQL installed and running
git clone https://github.com/your-username/mini-placement-portal.git
cd mini-placement-portalNavigate to the backend directory and install dependencies:
cd backend
npm installCreate a .env file in the backend directory with the following variables:
PORT=3000
DATABASE_URL="postgresql://user:password@localhost:5432/mini_placement?schema=public"
JWT_SECRET="your_super_secret_key"Run database migrations:
npx prisma migrate dev --name initStart the backend server:
npm start
# OR for development
npm run devOpen a new terminal, navigate to the frontend directory, and install dependencies:
cd frontend
npm installStart the development server:
npm run devThe frontend should now be running on http://localhost:5173 (or similar).
Visualize the database schema and relationships: View ERP Diagram
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the ISC License.