Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

24 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DevConnect β€” University FYP Showcase & Recruitment Platform

DevConnect bridges the gap between final-year university students and top tech companies. Students showcase their Final Year Projects (FYPs) while companies discover talent, post job openings, and recruit directly from the platform.


🌟 Features Overview

πŸŽ“ Student Features

  • Registration & Authentication β€” Secure signup with .edu email validation, bcrypt password hashing, JWT sessions
  • Profile Management β€” University info, skills, keywords, LinkedIn/GitHub links, avatar upload
  • FYP Submission β€” Upload projects with GitHub repo, demo video, static HTML demo page, poster, tags (5-10), and collaborator emails
  • Multiple Projects β€” Students can submit multiple FYPs
  • Browse Companies β€” View company profiles, open positions, and contact info
  • Browse & Search Jobs β€” Filter by title, company, type; view detailed job descriptions
  • Apply to Jobs β€” One-click application with duplicate prevention
  • Real-time Messaging β€” Send messages to companies, view conversation history
  • Dashboard β€” Live stats (project count, views, conversations)

🏒 Company Features

  • Company Registration β€” Register with company name (unique), industry, and contact email
  • Profile Completion β€” Description, location, website, industry, size β€” enforced before access
  • Post Multiple Jobs β€” Full job posting form with salary range, requirements, type, location
  • View Applicants β€” See who applied to each job with their profile details
  • Browse Talent β€” Search students by name, skills, keywords, or expertise
  • Browse FYPs β€” Search projects by tags, category, department
  • Messaging β€” Direct messaging with students
  • Dashboard β€” Live stats (jobs posted, total applicants, conversations)

πŸ›‘οΈ Admin Features

  • Admin Dashboard β€” Platform-wide statistics (total students, companies, projects, pending reviews)
  • User Management β€” View, activate/deactivate, change roles
  • Project Moderation β€” Approve or reject submitted FYPs
  • Full Access β€” Access to all platform sections

πŸ”’ Security Features

  • bcrypt Password Hashing β€” Passwords hashed with 12 salt rounds before storage
  • JWT Authentication β€” Secure token-based sessions with expiry
  • Role-Based Access Control β€” student, company, admin roles enforced at route and middleware level
  • Input Sanitization β€” express-mongo-sanitize and xss-clean middleware
  • Rate Limiting β€” API rate limiting via express-rate-limit
  • Helmet β€” Security headers with helmet
  • Cookie-based Tokens β€” HTTP-only cookies for session management

πŸ› οΈ Tech Stack

Layer Technology
Frontend React 18, Vite, TailwindCSS, Framer Motion
Backend Node.js, Express.js
Database MongoDB with Mongoose ODM
Authentication JWT + bcrypt
File Upload Multer + Cloudinary
State Management React Context + TanStack React Query
Form Validation Zod + React Hook Form (client), Express validators (server)
Icons Lucide React
Notifications React Hot Toast

πŸ“ Project Structure

project/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ config/          # Database configuration
β”‚   β”œβ”€β”€ controllers/     # Route handlers (auth, project, job, message, student, company, admin)
β”‚   β”œβ”€β”€ middleware/       # Auth, upload, error handling
β”‚   β”œβ”€β”€ models/          # Mongoose schemas (User, Project, Job, Message, StudentProfile, CompanyProfile)
β”‚   β”œβ”€β”€ public/demos/    # Static HTML demo pages for seeded FYPs
β”‚   β”œβ”€β”€ routes/          # Express route definitions
β”‚   β”œβ”€β”€ utils/           # Email utilities
β”‚   β”œβ”€β”€ seed.js          # Database seeder (10 students, 10 companies, 3 FYPs, 25 jobs)
β”‚   └── server.js        # Express app entry point
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/  # Reusable components (Layout, Navbar, Footer, ProtectedRoute)
β”‚   β”‚   β”œβ”€β”€ context/     # AuthContext with JWT management
β”‚   β”‚   β”œβ”€β”€ pages/       # 18 page components
β”‚   β”‚   └── App.jsx      # React Router configuration
β”‚   └── index.html
└── README.md

πŸš€ Getting Started

Prerequisites

  • Node.js v18+
  • MongoDB (local or Atlas)
  • npm

1. Clone the Repository

git clone https://github.com/Tabarak-Cheema/devconnect.git
cd devconnect

2. Backend Setup

cd backend
npm install

Create a .env file in backend/:

PORT=5000
MONGO_URI=mongodb://localhost:27017/devconnect
JWT_SECRET=your_jwt_secret_key_here
JWT_EXPIRE=30d
NODE_ENV=development
CLIENT_URL=http://localhost:5173
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret

3. Seed the Database

node seed.js

This creates: 1 admin, 10 students, 10 companies, 3 FYPs (with static HTML demos), and 25 diverse job listings.

4. Start Backend

node server.js

Server runs on http://localhost:5000

5. Frontend Setup

cd ../frontend
npm install
npm run dev

App runs on http://localhost:5173


πŸ”‘ Test Credentials

Role Email Password
Admin admin@devconnect.com Admin123!
Student 1 student1@uet.edu.pk Password123!
Student 2 student2@uet.edu.pk Password123!
Company (NexGen) hr@nexgensolutions.com Password123!
Company (CloudSync) hr@cloudsynctechnologies.com Password123!

πŸ“Š Seed Data Details

Students (10)

  • Ahmed Hassan, Sara Khan, Bilal Raza, Fatima Ali, Usman Tariq, Ayesha Noor, Hamza Sheikh, Zainab Malik, Omar Farooq, Hira Javed
  • Each with unique skills (React, Python, IoT, Blockchain, etc.) and keywords

Companies (10)

  • NexGen Solutions, CloudSync Technologies, DataPulse AI, FinEdge Systems, MedTech Innovations, EduSpark Labs, CyberShield Corp, GreenWave Energy, PixelForge Studios, AgriSmart Tech

FYPs (3)

  1. Smart Farm Automation System β€” IoT + React + Arduino
  2. AI Vision Accessibility Tool β€” Computer Vision + TensorFlow + Chrome Extension
  3. Decentralized Academic Credentials β€” Blockchain + Solidity + IPFS

Jobs (25)

Frontend Developer, Backend Engineer, Data Scientist, DevOps Engineer, Mobile App Developer, ML Engineer, UI/UX Designer, Blockchain Developer, Cybersecurity Analyst, Game Developer, and 15 more across all 10 companies.


🎨 Design Highlights

  • Modern glassmorphism and gradient backgrounds
  • Micro-animations with Framer Motion (page transitions, card hover effects)
  • Responsive design β€” works on desktop, tablet, and mobile
  • Dark/light consistent palette β€” Indigo-purple-slate color scheme
  • Dynamic navigation β€” Navbar changes based on user role
  • Real-time stats β€” Dashboard loads live data from API

πŸ“‹ API Endpoints

Auth

  • POST /api/auth/register β€” Register new user
  • POST /api/auth/login β€” Login and get JWT
  • GET /api/auth/me β€” Get current user
  • POST /api/auth/logout β€” Logout

Projects

  • GET /api/projects β€” List all approved projects (public)
  • GET /api/projects/:id β€” Get project detail (public)
  • POST /api/projects β€” Submit new FYP (student)
  • GET /api/projects/mine β€” My projects (student)

Jobs

  • GET /api/jobs β€” List all active jobs
  • GET /api/jobs/:id β€” Job detail with applicants
  • POST /api/jobs β€” Post new job (company)
  • POST /api/jobs/:id/apply β€” Apply to job (student)

Students

  • GET /api/students β€” Browse students (company/admin)
  • GET /api/students/me β€” My profile (student)
  • PUT /api/students/me β€” Update profile (student)

Companies

  • GET /api/companies β€” List all companies (public)
  • GET /api/companies/:id β€” Company detail (public)
  • GET /api/companies/me β€” My profile (company)
  • PUT /api/companies/me β€” Update profile (company)

Messages

  • GET /api/messages/conversations β€” My conversations
  • GET /api/messages/:otherUserId β€” Conversation messages
  • POST /api/messages β€” Send message

Admin

  • GET /api/admin/stats β€” Platform statistics
  • GET /api/admin/users β€” All users
  • PUT /api/projects/:id/approve β€” Approve project
  • PUT /api/projects/:id/reject β€” Reject project

πŸ‘₯ Team

  • Muhammad Tabarak Cheema (23i-0665)
  • Mohammad Rayaan Raza (23i-0535)

πŸ“œ License

This project was built as a Final Year Project for the BS Computer Science program at UET Lahore, 2025-2026.

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages