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
- π 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
- π’ 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
- π 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
- Python 3.8 or higher
- pip (Python package manager)
- Virtual environment (recommended)
-
Clone the repository
git clone https://github.com/salamlakhan7/Job-connect-Full-stack.git cd Job-connect-Full-stack -
Create and activate virtual environment
# Windows python -m venv venv venv\Scripts\activate # macOS/Linux python3 -m venv venv source venv/bin/activate
-
Install dependencies
pip install -r requirements.txt
-
Run database migrations
python manage.py makemigrations python manage.py migrate
-
Create a superuser (admin)
python manage.py createsuperuser
-
Collect static files
python manage.py collectstatic --noinput
-
Run the development server with WebSocket support
daphne -b 127.0.0.1 -p 8000 mysite.asgi:application
-
Access the application
- Main site:
http://127.0.0.1:8000 - Admin panel:
http://127.0.0.1:8000/admin
- Main site:
β οΈ Important: Always usedaphneto run the server (notpython manage.py runserver) to enable WebSocket support for real-time chat functionality.
- Register - Click "Find a Job" and create your account
- Complete Profile - Add your skills, experience, and upload your resume
- Search Jobs - Browse available positions or use advanced filters
- Apply - Submit applications with one click
- Chat - Message employers directly about opportunities
- Track - Monitor your application status in real-time
- Register - Click "Post a Job" and create your employer account
- Post Jobs - Create detailed job listings with requirements
- Review Applications - View and filter candidate applications
- Manage Status - Update application status (Pending β Reviewed β Shortlisted β Hired)
- Chat - Communicate with candidates in real-time
- Schedule Interviews - Set up video interviews with shortlisted candidates
- 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.
- HTML5 & CSS3 - Structure and styling
- Tailwind CSS - Utility-first CSS framework
- JavaScript (ES6+) - Interactive functionality
- WebSocket API - Real-time communication
- 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
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
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.sqlite3The 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)],
},
},
}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
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
Run tests with:
python manage.py testContributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Abdul Salam - Initial work - YourGitHub
- Django community for excellent documentation
- Tailwind CSS for the utility-first CSS framework
- Django Channels for WebSocket support
- All contributors and testers
For support, email salamlakhan7@gmail.com or open an issue in the repository.
- 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!