Skip to content

salamlakhan7/Job-connect-Full-stack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

42 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’Ό Job Connect - Professional Job Marketplace Platform

Job Connect Channels Python License

A modern, full-featured job marketplace connecting talented job seekers with top employers through real-time communication and intelligent matching.

Features β€’ Screenshots β€’ Installation β€’ Usage β€’ Tech Stack


🌟 Features

For Job Seekers

  • πŸ” Advanced Job Search - Filter by location, category, salary, and experience level
  • πŸ“ Easy Applications - Apply with one click using your saved profile and resume
  • πŸ’Ύ Save Jobs - Bookmark interesting positions for later review
  • πŸ’¬ Real-time Chat - Message employers directly with instant WebSocket communication
  • πŸ“Š Application Tracking - Monitor your application status in real-time
  • πŸ‘€ Professional Profiles - Showcase skills, experience, education, and portfolio
  • πŸ“„ Resume Management - Upload and manage multiple resume versions

For Employers

  • πŸ“’ Job Posting - Create and manage job listings with rich descriptions
  • πŸ‘₯ Applicant Management - Review, filter, and track all applications
  • βœ… Application Status - Update candidates with Pending, Reviewed, Shortlisted, or Rejected status
  • πŸ’¬ Direct Messaging - Chat with candidates in real-time
  • πŸ“… Interview Scheduling - Schedule and manage video interviews
  • πŸŽ₯ Video Interviews - Conduct remote interviews with integrated video calling
  • πŸ“ˆ Analytics Dashboard - Track job performance and application metrics

Platform Features

  • πŸ” Secure Authentication - Role-based access control (Job Seeker / Employer)
  • ⚑ Real-time Messaging - WebSocket-powered chat with message persistence
  • 🎨 Modern UI/UX - Professional, responsive design with smooth animations
  • πŸ“± Mobile Responsive - Optimized for all devices and screen sizes
  • πŸ”” Notifications - Stay updated on applications and messages
  • 🌐 RESTful Architecture - Clean, maintainable codebase

πŸš€ Quick Start

Prerequisites

  • Python 3.8 or higher
  • pip (Python package manager)
  • Virtual environment (recommended)

Installation

  1. Clone the repository

     git clone https://github.com/salamlakhan7/Job-connect-Full-stack.git
     cd Job-connect-Full-stack
    
  2. Create and activate virtual environment

    # Windows
    python -m venv venv
    venv\Scripts\activate
    
    # macOS/Linux
    python3 -m venv venv
    source venv/bin/activate
  3. Install dependencies

    pip install -r requirements.txt
  4. Run database migrations

    python manage.py makemigrations
    python manage.py migrate
  5. Create a superuser (admin)

    python manage.py createsuperuser
  6. Collect static files

    python manage.py collectstatic --noinput
    
  7. Run the development server with WebSocket support

    daphne -b 127.0.0.1 -p 8000 mysite.asgi:application
  8. Access the application

    • Main site: http://127.0.0.1:8000
    • Admin panel: http://127.0.0.1:8000/admin

⚠️ Important: Always use daphne to run the server (not python manage.py runserver) to enable WebSocket support for real-time chat functionality.


πŸ“– Usage Guide

For Job Seekers

  1. Register - Click "Find a Job" and create your account
  2. Complete Profile - Add your skills, experience, and upload your resume
  3. Search Jobs - Browse available positions or use advanced filters
  4. Apply - Submit applications with one click
  5. Chat - Message employers directly about opportunities
  6. Track - Monitor your application status in real-time

For Employers

  1. Register - Click "Post a Job" and create your employer account
  2. Post Jobs - Create detailed job listings with requirements
  3. Review Applications - View and filter candidate applications
  4. Manage Status - Update application status (Pending β†’ Reviewed β†’ Shortlisted β†’ Hired)
  5. Chat - Communicate with candidates in real-time
  6. Schedule Interviews - Set up video interviews with shortlisted candidates

πŸ› οΈ Tech Stack

Backend

  • Django 5.2.8 - High-level Python web framework
  • Django Channels 4.3.2 - WebSocket support for real-time features
  • Daphne 4.2.1 - ASGI server for WebSocket handling
  • SQLite - Database (development) , SQLite is used for local development. PostgreSQL is recommended for production.

Frontend

  • HTML5 & CSS3 - Structure and styling
  • Tailwind CSS - Utility-first CSS framework
  • JavaScript (ES6+) - Interactive functionality
  • WebSocket API - Real-time communication

Key Features

  • WebSocket Communication - Real-time chat with message persistence
  • ASGI Application - Asynchronous server gateway interface
  • Channel Layers - In-memory channel layer for WebSocket routing
  • File Upload - Resume and document management
  • Authentication - Django's built-in auth system with role-based access

πŸ“ Project Structure

Job-connect-sindhi/
β”œβ”€β”€ jobs/                          # Main application
β”‚   β”œβ”€β”€ templates/                 # HTML templates
β”‚   β”‚   β”œβ”€β”€ employer/             # Employer-specific templates
β”‚   β”‚   β”‚   β”œβ”€β”€ chat_room.html   # Real-time chat interface
β”‚   β”‚   β”‚   β”œβ”€β”€ chat_list.html   # Conversation list
β”‚   β”‚   β”‚   └── ...
β”‚   β”‚   β”œβ”€β”€ seeker/               # Job seeker templates
β”‚   β”‚   └── ...
β”‚   β”œβ”€β”€ static/                    # Static files (CSS, JS, images)
β”‚   β”œβ”€β”€ models.py                  # Database models
β”‚   β”œβ”€β”€ views.py                   # View functions
β”‚   β”œβ”€β”€ urls.py                    # URL routing
β”‚   β”œβ”€β”€ consumers.py               # WebSocket consumers
β”‚   β”œβ”€β”€ routing.py                 # WebSocket routing
β”‚   └── forms.py                   # Django forms
β”œβ”€β”€ mysite/                        # Project configuration
β”‚   β”œβ”€β”€ settings.py               # Django settings
β”‚   β”œβ”€β”€ urls.py                   # Main URL configuration
β”‚   β”œβ”€β”€ asgi.py                   # ASGI configuration
β”‚   └── wsgi.py                   # WSGI configuration
β”œβ”€β”€ media/                         # User-uploaded files
β”œβ”€β”€ staticfiles/                   # Collected static files
β”œβ”€β”€ Page Screenshot/               # Application screenshots
β”œβ”€β”€ requirements.txt               # Python dependencies
β”œβ”€β”€ manage.py                      # Django management script
└── README.md                      # This file

πŸ”§ Configuration

Environment Variables (Optional)

Create a .env file in the project root:

DEBUG=True
SECRET_KEY=your-secret-key-here
ALLOWED_HOSTS=localhost,127.0.0.1
DATABASE_URL=sqlite:///db.sqlite3

Channel Layers

The application uses InMemoryChannelLayer for development. For production, configure Redis:

# settings.py
CHANNEL_LAYERS = {
    "default": {
        "BACKEND": "channels_redis.core.RedisChannelLayer",
        "CONFIG": {
            "hosts": [("127.0.0.1", 6379)],
        },
    },
}

🎨 Features in Detail

Real-time Chat System

The chat system features:

  • βœ… WebSocket Communication - Instant message delivery
  • βœ… Message Persistence - All chats saved to database
  • βœ… Typing Indicators - See when someone is typing
  • βœ… Online Status - Real-time presence indicators
  • βœ… File Attachments - Share documents and images
  • βœ… Professional UI - Gradient design with smooth animations
  • βœ… Message History - Access past conversations anytime

Application Workflow

graph LR
    A[Job Posted] --> B[Seeker Applies]
    B --> C[Employer Reviews]
    C --> D{Decision}
    D -->|Interested| E[Shortlist]
    D -->|Not Suitable| F[Reject]
    E --> G[Schedule Interview]
    G --> H[Conduct Interview]
    H --> I{Final Decision}
    I -->|Hire| J[Hired]
    I -->|Decline| F
Loading

If the diagram doesn’t render, view on GitHub desktop or browser.

πŸ§ͺ Testing

Run tests with:

python manage.py test

🀝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a 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

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ‘₯ Authors


πŸ™ Acknowledgments

  • Django community for excellent documentation
  • Tailwind CSS for the utility-first CSS framework
  • Django Channels for WebSocket support
  • All contributors and testers

πŸ“ž Support

For support, email salamlakhan7@gmail.com or open an issue in the repository.


πŸ—ΊοΈ Roadmap

  • Email notifications for new applications
  • Advanced analytics dashboard
  • Resume parsing with AI
  • Job recommendation algorithm
  • Mobile app (React Native)
  • Multi-language support
  • Payment integration for premium features
  • Company verification system

Made with ❀️ using Django

⭐ Star this repo if you find it helpful!

About

Designed and developed a job portal system with role-based access (Seeker, Employer, Admin), incorporating status management workflows and real-time chat features.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors