A comprehensive career development platform helping students and fresh graduates discover their perfect career path through intelligent job matching, personalized learning recommendations, and progress tracking.
CareerBridge connects job seekers with opportunities that match their skills and career goals. Built with modern technologies, the platform offers:
- Smart Job Matching - Get personalized job recommendations with detailed match scores
- AI Career Assistant - Generate professional summaries, improve project descriptions, get profile tips
- CV Management - Upload, generate, and export professional CVs as PDF
- Skill Gap Analysis - Discover what skills you need and get learning recommendations
- Career Roadmaps - AI-generated personalized learning paths with timelines
- Progress Tracking - Monitor your job applications and learning journey
- Multiple Login Options - Sign in with email, Google, or GitHub
- Beautiful Interface - Modern dark/light themes with smooth animations
- 🎓 Students seeking internships and career guidance
- 👨💼 Fresh Graduates starting their professional journey
- 📈 Career Changers exploring new opportunities
- 💼 Job Seekers looking for their next role
- Email and password login
- Google OAuth integration
- GitHub OAuth integration
- Secure JWT-based sessions
- Personalized job recommendations with match scores
- Search and filter by location, type, and experience level
- View detailed job descriptions, requirements, and benefits
- Track your applications
- Discover courses and tutorials based on your skill gaps
- Track your learning progress
- Get recommendations tailored to your career goals
- Filter by cost (free/paid) and skills
- Analyze skill gaps for target roles
- See which skills employers are looking for
- Get a match percentage for different job positions
- Track your improvement over time
- AI-powered career roadmaps with personalized learning paths
- Project suggestions to build your portfolio
- Job application timing guidance
- Professional Summary Generator - Create compelling CV summaries instantly
- Project Description Enhancer - Transform basic descriptions into impactful bullet points
- LinkedIn/Portfolio Tips - Get 5 personalized improvement suggestions
- CV Export & Print - Generate clean, professional CV layouts (PDF-ready)
- Career Mentor Chatbot - Ask career questions and get expert advice
- Smart Skill Extraction - Upload CV and automatically extract skills
- Clean, intuitive interface with dark/light themes
- Smooth animations and transitions
- Mobile-responsive design
- Fast and reliable performance
Backend:
- Rust with Axum framework
- PostgreSQL database
- JWT authentication
Frontend:
- Next.js 15 with React 19
- TypeScript
- Tailwind CSS
- Radix UI components
For detailed technical information, see Backend Documentation and Frontend Documentation.
1. Clone the Repository
git clone https://github.com/tamim2763/career-bridge.git
cd career-bridge2. Set Up Backend (See detailed backend setup)
cd backend
# Create database
createdb -U postgres career_bridge
# Apply schema and seed data
psql -U postgres -d career_bridge -f schema.sql
psql -U postgres -d career_bridge -f seed_data.sql
# Create .env file with required environment variables
# See "Environment Variables & API Keys" section below for details
# Minimum required: DATABASE_URL, JWT_SECRET, FRONTEND_URL
# Then start the server
cargo runBackend runs at: http://localhost:3000
3. Set Up Frontend (See detailed frontend setup)
cd frontend
# Install dependencies
npm install
# Start development server
npm run devFrontend runs at: http://localhost:3001
Note: Both servers must run simultaneously for the application to work properly.
Visit http://localhost:3001 to explore the application, or test the API:
curl http://localhost:3000/Create a .env file in the backend/ directory with the following variables:
# Database Configuration
DATABASE_URL=postgresql://postgres:password@localhost:5432/career_bridge
# JWT Authentication
JWT_SECRET=your-secret-key-change-in-production-minimum-32-characters
# Frontend URL (for CORS and OAuth redirects)
FRONTEND_URL=http://localhost:3001# Server Configuration
PORT=3000
RUST_ENV=development
RUST_LOG=info
# OAuth Authentication (Google)
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
GOOGLE_REDIRECT_URI=http://127.0.0.1:3000/api/auth/google/callback
# OAuth Authentication (GitHub)
GITHUB_CLIENT_ID=your-github-client-id
GITHUB_CLIENT_SECRET=your-github-client-secret
GITHUB_REDIRECT_URI=http://127.0.0.1:3000/api/auth/github/callback
# AI Services (Optional - for AI-powered features)
GEMINI_API_KEY=your-gemini-api-key
GROQ_API_KEY=your-groq-api-key
HUGGINGFACE_API_KEY=your-huggingface-api-keyCreate a .env.local file in the frontend/ directory:
# Backend API URL
NEXT_PUBLIC_API_BASE_URL=http://127.0.0.1:3000/apiOption A: Local PostgreSQL
# Install PostgreSQL locally
# Ubuntu/Debian: sudo apt-get install postgresql postgresql-contrib
# macOS: brew install postgresql@14
# Windows: Download from postgresql.org
# Create database
createdb -U postgres career_bridge
# Update DATABASE_URL
DATABASE_URL=postgresql://postgres:your-password@localhost:5432/career_bridgeOption B: Cloud Database (Railway, Supabase, Neon)
- Sign up at Railway, Supabase, or Neon
- Create a PostgreSQL database
- Copy the connection string to
DATABASE_URL
Generate a secure random string (minimum 32 characters):
# Linux/macOS
openssl rand -base64 32
# Or use an online generator
# https://generate-secret.vercel.app/32- Go to Google Cloud Console
- Create a new project or select existing
- Enable Google+ API
- Go to Credentials → Create Credentials → OAuth 2.0 Client ID
- Configure OAuth consent screen
- Add authorized redirect URI:
http://127.0.0.1:3000/api/auth/google/callback - Copy
Client IDandClient Secretto.env
- Go to GitHub Developer Settings
- Click New OAuth App
- Fill in:
- Application name: CareerBridge
- Homepage URL:
http://localhost:3001 - Authorization callback URL:
http://127.0.0.1:3000/api/auth/github/callback
- Copy
Client IDand generateClient Secret - Add to
.envfile
- Go to Google AI Studio
- Click Get API Key
- Create a new API key or use existing
- Copy to
GEMINI_API_KEYin.env
Features enabled:
- Professional CV summary generation
- Project description enhancement
- Profile improvement suggestions
- Career roadmap generation
- Career mentor chatbot
- Skill extraction from CV
- Go to Groq Console
- Sign up and navigate to API Keys
- Create a new API key
- Copy to
GROQ_API_KEYin.env
Note: Groq is used as a fallback if Gemini API fails. The system automatically switches between providers.
- Go to Hugging Face
- Sign up and navigate to Settings → Access Tokens
- Create a new token with Read permissions
- Copy to
HUGGINGFACE_API_KEYin.env
Features enabled:
- AI-generated job match explanations
- Enhanced match analysis with strengths and improvement areas
Note: If not provided, the system falls back to heuristic explanations.
| Variable | Required | Purpose | Where to Get |
|---|---|---|---|
DATABASE_URL |
✅ | PostgreSQL connection | Local installation or cloud provider |
JWT_SECRET |
✅ | Token signing | Generate with openssl rand -base64 32 |
FRONTEND_URL |
✅ | CORS configuration | Your frontend URL |
PORT |
❌ | Server port (default: 3000) | Optional override |
GOOGLE_CLIENT_ID |
❌ | Google OAuth | Google Cloud Console |
GOOGLE_CLIENT_SECRET |
❌ | Google OAuth | Google Cloud Console |
GITHUB_CLIENT_ID |
❌ | GitHub OAuth | GitHub Developer Settings |
GITHUB_CLIENT_SECRET |
❌ | GitHub OAuth | GitHub Developer Settings |
GEMINI_API_KEY |
❌ | AI features (primary) | Google AI Studio |
GROQ_API_KEY |
❌ | AI features (fallback) | Groq Console |
HUGGINGFACE_API_KEY |
❌ | AI job matching | Hugging Face |
| Variable | Required | Purpose | Default |
|---|---|---|---|
NEXT_PUBLIC_API_BASE_URL |
❌ | Backend API endpoint | http://127.0.0.1:3000/api |
career-bridge/
├── backend/ # Rust API server
│ ├── src/ # Source code
│ ├── schema.sql # Database schema
│ ├── seed_data.sql # Sample data
│ └── README.md # Backend documentation
│
├── frontend/ # Next.js application
│ ├── src/ # Source code
│ │ ├── app/ # Pages and routes
│ │ ├── components/ # React components
│ │ └── lib/ # Utilities
│ └── README.md # Frontend documentation
│
├── LICENSE
└── README.md # This file
| Page | Description |
|---|---|
Landing (/) |
Hero section, features, testimonials |
Dashboard (/dashboard) |
Personalized job and learning recommendations |
Jobs (/jobs) |
Search and browse job listings |
Resources (/resources) |
Learning materials and courses |
Profile (/profile) |
Manage your profile and CV |
| Login/Register | Authentication pages |
For detailed architecture, see Backend README and Frontend README.
- Backend README - API documentation, database schema, setup guide
- Frontend README - Component architecture, UI system, development guide
- API Tests - Interactive API examples
- Database schema details in Backend README
- Component library in Frontend README
- OAuth setup instructions in Backend README
We welcome contributions! Here's how:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Test thoroughly
- Commit (
git commit -m 'Add amazing feature') - Push and create a Pull Request
For coding standards and detailed guidelines, see the respective README files in backend/ and frontend/.
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ by the From_Los_Santosh Team
🚀 Empowering careers through technology