Skip to content

KGFCH2/Career_Go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

98 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Career Go ~ AI-Powered Career Advisor πŸ’Ό

Python Flask License PRs Welcome

🎯 Discover Your Perfect Career Path with AI-Powered Intelligence

A cutting-edge AI-Powered Personalized Career & Skills Advisor web application that helps individuals discover their ideal career paths through intelligent analysis of their skills, interests, and goals. Built with Flask, powered by Groq AI (Llama 3.3-70b), and featuring a beautiful glassmorphism UI with dark/light themes.

✨ Key Features

  • πŸ” Secure Authentication System

    • User registration and login with SHA256+salt encryption
    • Session-based authentication with secure cookie handling
    • Password reset with verification codes
    • Optional email integration for password recovery
  • πŸ€– AI-Powered Career Advisor

    • Groq API integration with Llama 3.3-70b-versatile model
    • Intelligent fallback to CSV dataset (700+ career entries)
    • Real-time conversational AI chat interface
    • Context-aware career recommendations
  • 🎯 Smart Skill Matching Engine

    • Advanced algorithm matching user skills to career paths
    • 700+ career entries across 73 unique career paths
    • Multi-skill career suggestions with match scoring
    • Industry-aligned competency mapping
  • πŸ“Š Interactive Career Dashboard

    • Visual skill-to-career recommendations
    • Flip card animations for career details
    • Dynamic filtering and search capabilities
    • Required skills breakdown for each career
  • πŸŒ“ Modern UI/UX Design

    • Stunning glassmorphism design system
    • Smooth dark/light theme toggle
    • Responsive mobile-first layout
    • Font Awesome icons with hover animations
    • Pop-up effects and color transitions
  • πŸ’¬ Real-Time AI Chat

    • Interactive career counseling
    • Personalized guidance and advice
    • Quick suggestion buttons
    • Message history with timestamps
  • πŸ“š Curated Learning Resources

    • Links to 20+ top learning platforms
    • Coursera, edX, LinkedIn Learning, Udemy
    • Platform-specific courses and certifications
    • Free and paid options included
  • πŸ‘₯ Personalized User Profiles

    • Gender-based emoji avatars
    • Customizable user preferences
    • Profile statistics and insights
    • Account management features
  • πŸ“± Progressive Web App

    • Fast loading with optimized assets
    • Smooth animations and transitions
    • Cross-browser compatibility
    • Mobile-optimized touch interactions
  • πŸ”’ Enterprise-Ready Security

    • Environment variable configuration
    • HTTPS/TLS ready for production
    • CSRF protection via Flask sessions
    • Secure database operations

πŸš€ Quick Start

1. Setup Environment πŸ› οΈ

# Create virtual environment
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

2. Configure Environment Variables πŸ”

# Copy template
cp .env.example .env

# Generate secure values
python -c "import secrets; print(secrets.token_hex(16))"  # For APP_SECRET
python -c "import secrets; print(secrets.token_hex(8))"   # For PW_SALT

Edit .env with:

  • APP_SECRET: Your generated secret key πŸ”‘
  • PW_SALT: Your generated salt πŸ§‚
  • GROQ_API_KEY: Optional, get from https://console.groq.com πŸ€–
  • MAIL_USERNAME: your_mail@email.com πŸ“§
  • MAIL_PASSWORD: Optional, for Gmail password reset πŸ“¬

3. Run the Application 🎯

python app.py
# Visit: http://localhost:5000 🌐

πŸ“ Project Structure

Career_Go/
β”œβ”€β”€ πŸ“„ app.py                      # Main Flask application with routes & API
β”œβ”€β”€ πŸ“‹ requirements.txt            # Python dependencies (Flask, Groq, etc.)
β”œβ”€β”€ πŸ” .env                        # Environment variables (not in git)
β”œβ”€β”€ πŸ“ .env.example                # Environment template for setup
β”œβ”€β”€ πŸ“– README.md                   # Project documentation (this file)
β”œβ”€β”€ πŸ“š INSTRUCTIONS.md             # Detailed technical documentation
β”œβ”€β”€ βš–οΈ LICENSE                     # MIT License
β”œβ”€β”€ πŸ’Ύ career.db                   # SQLite database (auto-generated)
β”‚
β”œβ”€β”€ πŸ“Š data/                       # Dataset files
β”‚   β”œβ”€β”€ skills_careers.csv         # 700+ career & skills mappings
β”‚   └── learning_links.json        # Curated learning platform links
β”‚
β”œβ”€β”€ 🎨 templates/                  # Jinja2 HTML templates
β”‚   β”œβ”€β”€ base.html                  # Base template with navigation
β”‚   β”œβ”€β”€ index.html                 # Landing page with hero section
β”‚   β”œβ”€β”€ signup.html                # User registration form
β”‚   β”œβ”€β”€ login.html                 # User login form
β”‚   β”œβ”€β”€ forgot.html                # Password reset request
β”‚   β”œβ”€β”€ profile.html               # User profile page
β”‚   β”œβ”€β”€ dashboard.html             # Career recommendations dashboard
β”‚   β”œβ”€β”€ chat.html                  # AI chat interface
β”‚   β”œβ”€β”€ about.html                 # About Career Go
β”‚   β”œβ”€β”€ faq.html                   # Frequently asked questions
β”‚   β”œβ”€β”€ privacy.html               # Privacy policy
β”‚   β”œβ”€β”€ terms.html                 # Terms of service
β”‚   β”œβ”€β”€ 404.html                   # Not found error page
β”‚   └── 500.html                   # Server error page
β”‚
└── 🎨 static/                     # Static assets
    β”œβ”€β”€ css/
    β”‚   └── styles.css             # Glassmorphism styles & themes
    └── js/
        β”œβ”€β”€ main.js                # Form handlers & interactions
        └── theme.js               # Dark/light mode toggle

πŸ—οΈ Technical Architecture

πŸ”§ Core Technologies

  • 🐍 Backend Framework: Flask 3.0.3

    • RESTful API design
    • Session-based authentication
    • Jinja2 templating engine
    • WSGI application server
  • πŸ’Ύ Database Layer: Dual database support

    • SQLite (local development)
    • PostgreSQL (production via DATABASE_URL)
    • Automatic table initialization
    • Secure query execution
  • πŸ” Security Implementation

    • SHA256+salt password hashing
    • Session-based user authentication
    • Environment variable management
    • CSRF protection via Flask sessions
    • Secure cookie handling
  • πŸ€– AI Integration

    • Groq API with Llama 3.3-70b-versatile model
    • Intelligent fallback to CSV dataset
    • Context-aware responses
    • Conversation history management
  • 🎨 Frontend Stack

    • HTML5 semantic markup
    • CSS3 with glassmorphism effects
    • Vanilla JavaScript (ES6+)
    • Font Awesome 6.5.1 icons
    • Responsive design principles
  • πŸ“Š Data Processing

    • CSV parsing for career data
    • JSON handling for learning resources
    • Advanced skill matching algorithms
    • Real-time filtering and search

πŸ—„οΈ Database Schema

Users Table

  • id (INTEGER PRIMARY KEY)
  • username (TEXT UNIQUE)
  • email (TEXT UNIQUE)
  • gender (TEXT)
  • password_hash (TEXT)
  • created_at (TIMESTAMP)

Resets Table

  • id (INTEGER PRIMARY KEY)
  • email (TEXT)
  • code (TEXT)
  • created_at (TIMESTAMP)

πŸ”Œ API Endpoints πŸš€

πŸ” Authentication

  • POST /api/signup - πŸ“ Register new account
  • POST /api/login - πŸ”‘ Login to account
  • POST /api/forgot-email - πŸ’¬ Request password reset code
  • POST /api/reset - πŸ” Reset password with code
  • POST /api/logout - πŸšͺ Logout and clear session

πŸ’Ό Features

  • POST /api/suggest_careers - 🎯 Get career suggestions based on skills
  • POST /api/chat - πŸ’¬ Send message to AI or dataset
  • GET /profile - πŸ‘€ View user profile

πŸ“„ Pages

  • GET / - 🏠 Home
  • GET /dashboard - πŸ“Š Career dashboard
  • GET /chat - πŸ’¬ Chat interface
  • GET /about - ℹ️ About page
  • GET /faq - πŸ“ž FAQ
  • GET /privacy - πŸ”’ Privacy policy
  • GET /terms - βš–οΈ Terms of service

πŸ› οΈ Technology Stack

Backend 🐍

  • Flask 3.0.3 - Modern Python web framework
  • Python 3.8+ - Programming language
  • SQLite / PostgreSQL - Database management
  • Groq API - AI language model integration
  • psycopg2-binary - PostgreSQL adapter
  • python-dotenv - Environment variable management
  • Flask-Mail - Email functionality

Frontend 🎨

  • HTML5 - Semantic markup
  • CSS3 - Modern styling with glassmorphism
  • JavaScript (ES6+) - Interactive functionality
  • Font Awesome 6.5.1 - Icon library
  • Google Fonts - Inter typeface

Design 🎭

  • Glassmorphism UI - Modern glass-effect design
  • Dark/Light Themes - User preference support
  • Responsive Layout - Mobile-first approach
  • CSS Animations - Smooth transitions and effects
  • Custom Color Schemes - Carefully selected palette

Development Tools πŸ”§

  • Git - Version control
  • GitHub - Repository hosting
  • VS Code - Recommended IDE
  • Gunicorn - Production WSGI server
  • Virtual Environment - Python dependency isolation

πŸ”’ Security Features

  • πŸ” Password Security

    • SHA256 hashing with custom salt
    • Secure password storage
    • No plaintext password storage
  • πŸͺ Session Management

    • Secure session cookies
    • Server-side session storage
    • Automatic session expiration
  • βœ‰οΈ Email Validation

    • Format validation
    • Duplicate prevention
    • Reset code generation
  • πŸ”‘ Environment Security

    • Sensitive data in .env file
    • .env excluded from version control
    • Environment variable validation
  • πŸ›‘οΈ Application Security

    • HTTPS/TLS ready
    • CSRF protection via Flask sessions
    • SQL injection prevention
    • XSS protection through Jinja2 escaping
  • 🚫 Access Control

    • Route-level authentication checks
    • Session-based authorization
    • Protected API endpoints

πŸ“Š Dataset Overview

🎯 Career Database

  • 73 Unique Career Paths covering modern job market
  • 700+ Skill Combinations with detailed mappings
  • Industry Categories:
    • πŸ’Ό Traditional Tech: Data Scientist, Full-Stack Developer, DevOps Engineer
    • πŸš€ Emerging Fields: AI Ethics Consultant, Climate Tech Engineer, Web3 Developer
    • πŸ”¬ Specialized Domains: Quantum Engineer, Biotech Researcher, EdTech Specialist
    • 🎨 Creative Tech: UX/UI Designer, Game Developer, AR/VR Developer
    • πŸ“Š Data & Analytics: Business Intelligence Analyst, ML Engineer, Data Engineer
    • πŸ₯ Health Tech: HealthTech Developer, Medical Software Engineer
    • πŸ’° FinTech: Blockchain Developer, Financial Systems Analyst
    • 🌍 Impact Tech: Sustainability Engineer, Social Impact Analyst

πŸ“š Learning Resources

20+ Curated Platforms including:

  • πŸŽ“ MOOCs: Coursera, edX, LinkedIn Learning, Udemy, Udacity
  • ☁️ Cloud Training: Google Cloud Skills, AWS Training, Microsoft Learn, IBM Skills
  • πŸ’» Coding Platforms: FreeCodeCamp, Codecademy, DataCamp, Kaggle, Khan Academy
  • 🎨 Design & Creative: Behance, Dribbble, Adobe Learn
  • πŸ”¬ Specialized: Pluralsight, Skillshare, Treehouse

πŸš€ Deployment Options

πŸ’» Local Development

# Start development server
python app.py

# Access application
# 🌐 http://localhost:5000

☁️ Cloud Deployment

πŸš‚ Railway (Recommended)

  1. Connect your GitHub repository
  2. Add PostgreSQL database service
  3. Set environment variables:
    • APP_SECRET, PW_SALT
    • DATABASE_URL (auto-set by Railway)
    • GROQ_API_KEY (optional)
    • MAIL_USERNAME, MAIL_PASSWORD (optional)
  4. Deploy automatically from main branch

🎨 Render

  1. Create new Web Service from GitHub
  2. Build Command: pip install -r requirements.txt
  3. Start Command: gunicorn app:app
  4. Add PostgreSQL database
  5. Set environment variables (same as Railway)

✈️ Fly.io

  1. Install Fly CLI: curl -L https://fly.io/install.sh | sh
  2. Run: fly launch
  3. Add PostgreSQL: fly postgres create
  4. Attach database: fly postgres attach
  5. Set environment variables: fly secrets set

πŸ“¦ Required Environment Variables

# Required
APP_SECRET=your_32_char_secret_key
PW_SALT=your_16_char_salt

# Optional but recommended
GROQ_API_KEY=gsk_xxxxx                    # For AI features
DATABASE_URL=postgresql://...              # Auto-set on cloud platforms

# Optional for email
MAIL_USERNAME=your.email@gmail.com
MAIL_PASSWORD=your_app_password

🏒 Production Server (Unix/Linux)

# Install production server
pip install gunicorn

# Run with 4 worker processes
gunicorn -w 4 -b 0.0.0.0:5000 app:app

# Or with more options
gunicorn -w 4 --threads 2 --timeout 120 app:app

⚠️ Note: Gunicorn is Unix/Linux only. For Windows production, consider using waitress or deploy to cloud.

πŸ› Troubleshooting

Common Issues

πŸ”΄ Port Already in Use

# Find process using port 5000
# Windows
netstat -ano | findstr :5000
taskkill /PID <process_id> /F

# Linux/Mac
lsof -ti:5000 | xargs kill -9

πŸ—„οΈ Database Errors

# Delete database and restart (loses data)
rm career.db
python app.py

# Or backup first
cp career.db career.db.backup
rm career.db
python app.py

πŸ“§ Email Not Sending

  • Verify Gmail App Password (not regular password)
  • Enable 2-factor authentication on Gmail
  • Go to: https://myaccount.google.com/apppasswords
  • Create app password for "Mail"
  • Use generated password in .env (remove spaces)

πŸ€– AI Chat Not Working

  • Check GROQ_API_KEY in .env
  • Verify API key at: https://console.groq.com/keys
  • App will automatically fallback to CSV dataset if AI fails
  • Check console logs for specific error messages

πŸ” Session Issues

  • Clear browser cookies
  • Verify APP_SECRET is set in .env
  • Restart Flask application
  • Check browser console for errors

πŸ’Ύ PostgreSQL Connection Errors

  • Verify DATABASE_URL format: postgresql://user:pass@host:port/db
  • Check psycopg2-binary is installed
  • Ensure PostgreSQL service is running
  • Review database logs

🎨 CSS/JS Not Loading

  • Clear browser cache (Ctrl+Shift+R / Cmd+Shift+R)
  • Check static file paths in templates
  • Verify Flask static folder configuration
  • Check browser console for 404 errors

πŸ“„ License

πŸ“œ MIT License - See LICENSE file for full details.

Copyright (c) 2025 Career Go

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software.

🀝 Contributing

We welcome contributions! Here's how you can help:

  1. 🍴 Fork the repository
  2. 🌿 Create your feature branch: git checkout -b feature/AmazingFeature
  3. πŸ’Ύ Commit your changes: git commit -m '✨ Add some AmazingFeature'
  4. πŸ“€ Push to the branch: git push origin feature/AmazingFeature
  5. πŸ”€ Open a Pull Request

πŸ“ Contribution Guidelines

  • Write clear, descriptive commit messages with emojis
  • Follow existing code style and conventions
  • Add comments for complex logic
  • Update documentation as needed
  • Test your changes thoroughly

πŸ™ Acknowledgments

  • πŸ“Š Career Data: Compiled from industry research and job market analysis
  • πŸ“š Learning Resources: Curated from top educational platforms worldwide
  • πŸ€– AI Technology: Powered by Groq (Llama 3.3-70b-versatile model)
  • 🎨 Design Inspiration: Modern glassmorphism and neumorphism trends
  • πŸ› οΈ Built With: Flask, Python, and passionate dedication to career development
  • πŸ’‘ Community: Thanks to all contributors and users providing feedback

πŸ“ž Contact & Support

  • πŸ“§ Email: babinbid05@gmail.com
  • πŸ› Issues: Report bugs on GitHub Issues
  • πŸ’¬ Discussions: Join GitHub Discussions for questions
  • ⭐ Star this repo if you find it helpful!

🎯 Future Roadmap

  • 🌍 Multi-language support (i18n)
  • πŸ“± Mobile app (React Native / Flutter)
  • πŸ”— LinkedIn profile integration
  • πŸ“ˆ Career progression tracking
  • πŸŽ“ Course recommendation engine
  • πŸ‘₯ Community forum and networking
  • πŸ“Š Advanced analytics dashboard
  • 🎀 Voice-based career counseling
  • 🀝 Mentor matching system
  • πŸ’Ό Job board integration

πŸš€ Start Your Career Journey Today! 🌟

Made with ❀️ by Babin Bid who care about your career success

GitHub stars GitHub forks

Last Updated: 22nd December, 2025 | Contact: babinbid05@gmail.com

About

A polished Personalized Career & Skills Advisor

Topics

Resources

License

Stars

Watchers

Forks

Contributors