A full-stack web application for SGSITS alumni and students to connect for job opportunities.
- Student Dashboard: Browse jobs, apply, manage profile
- Alumni Dashboard: Post jobs, manage companies
- Admin Dashboard: Manage users, jobs, analytics
- Authentication: JWT-based login with role-based access
- Job Portal: Post internships/jobs, apply with resume
- Profile Management: Complete profiles for better matches
- Backend: Node.js, Express, PostgreSQL, Knex.js, JWT, bcrypt
- Frontend: React, Vite, Shadcn/UI, React Query
- Database: PostgreSQL
- Node.js (v16+)
- PostgreSQL (running on localhost:5432)
- Git
git clone https://github.com/your-username/alumni-job-portal.git
cd alumni-job-portalcd backend
npm install
cp .env.example .env
# Edit .env with your PostgreSQL credentials (DB_USER, DB_PASSWORD)
npm run migrate
npm run seed
npm startBackend runs on http://localhost:5004
cd ../frontend
npm install
cp .env.example .env
# VITE_API_URL is already set to http://localhost:5004/api
npm run devFrontend runs on http://localhost:5173
- Ensure PostgreSQL is running
- Create database:
alumniPortal - Migrations and seeds are run via npm scripts
npm start: Start servernpx knex migrate:latest: Run migrationsnpx knex seed:run: Seed database
npm run dev: Start dev servernpm run build: Build for production
After seeding, use these accounts:
- Admin:
admin@sgsits.ac.in/admin123 - Student:
student@sgsits.ac.in/password123 - Alumni:
alumni@company.com/password123
Base URL: http://localhost:5004/api
POST /auth/login- LoginPOST /auth/register-student- Register studentPOST /auth/register-alumni- Register alumni
GET /student/profile- Get profilePUT /student/profile- Update profile
GET /job/get-all-jobs-student- Get jobsPOST /job/apply- Apply to job
- Fork the repo
- Create feature branch
- Commit changes
- Push and create PR