- Notifications
You must be signed in to change notification settings - Fork240
opensource jobportal in python django
License
MicroPyramid/opensource-job-portal
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
PeelJobs is a dynamic, user-centric job board platform designed to streamline the entire hiring process, from job posting to application management. Built with modern web technologies, it offers a seamless experience for job seekers, recruiters, and administrators through robust role-based access control (RBAC).
🔗Documentation:https://opensource-job-portal.readthedocs.io/en/latest/
📋Setup Guide: SeeSETUP.md for complete development and deployment instructions
- Project Overview
- User Roles & Permissions
- Core Features
- Technology Stack
- Quick Start
- Usage Guide
- Contributing
- License
PeelJobs transforms the traditional hiring process by providing a comprehensive platform that serves multiple user types with tailored functionalities. Each role is equipped with specific tools to enhance efficiency, engagement, and management, ensuring a streamlined and secure recruitment process.
To democratize job searching and hiring by providing a powerful, free, and open-source platform that connects talent with opportunities efficiently.
Creating the most user-friendly and feature-rich job board platform that scales from startups to enterprise-level recruitment needs.
PeelJobs implements a comprehensive role-based access control system with distinct user types:
- Recruiters: Post jobs, manage applications, conduct interviews
- Company Admin: Oversee company-wide recruitment activities and manage recruiter accounts
- Candidates: Search jobs, apply for positions, manage applications, receive alerts
- Profile Management: Build professional profiles with skills, experience, and preferences
- Super Admin: Complete platform oversight and management capabilities
- Support Staff: Restricted access to specific functionality and reports based on assigned roles
- Smart Job Posting: Create detailed job listings with rich formatting and media support
- Application Management: Streamlined applicant tracking and communication tools
- Walk-in Events: Schedule and manage on-site interview events with Google Maps integration
- Bulk Operations: Copy, edit, and manage multiple job postings efficiently
- Analytics Dashboard: Track job performance, application metrics, and hiring insights
- Social Authentication: Quick registration via Google OAuth and email/password
- Intelligent Search: Advanced filtering by location, salary, skills, and experience level
- Real-time Alerts: Personalized email notifications for matching opportunities
- Application Tracking: Comprehensive history of applied positions and their status
- Profile Builder: Professional profile creation with skill assessments and portfolio links
- Mobile-Optimized: Responsive design for seamless mobile job searching
- Favorites System: Save and organize interesting job opportunities
- Lightning-Fast Search: Elasticsearch-powered full-text search with instant results
- Background Processing: Redis + Celery for email notifications and heavy operations
- Smart Caching: Memcached integration for optimized page load times
- RESTful APIs: Comprehensive API endpoints for third-party integrations
- Scalable Architecture: Built to handle high traffic and large datasets
- Security First: Role-based permissions, secure authentication, and data protection
- Framework: Django 4.2.22 (Python)
- Database: PostgreSQL with optimized queries
- Search Engine: Elasticsearch 7.17.6
- Task Queue: Celery 5.5.0 with Redis broker
- Caching: Redis + Memcached for multi-layer caching
- Styling: Bootstrap 5 + Tailwind CSS 4.1.x (progressive migration)
- Icons: FontAwesome (migrating to Lucide Icons)
- Build Tools: Node.js, npm, Less/Sass compilation
- Responsive Design: Mobile-first approach with PWA capabilities
- Code Quality: Black formatter, Prospector linting, Coverage reporting
- Testing: Django Test Suite, BDD with Behave Django
- CI/CD: Travis CI integration with automated testing
- Containerization: Docker support for easy deployment
- Monitoring: Built-in admin tools and performance monitoring
📋 For complete setup instructions, seeSETUP.md
- Python 3.12+, PostgreSQL, Node.js, Redis
# Clone repositorygit clone https://github.com/MicroPyramid/opensource-job-portal.gitcd opensource-job-portal# Setup environmentpython3 -m venv venvsource venv/bin/activatepip install -r requirements.txt# Configure databasecreatedb peeljobs_devpython manage.py migratepython manage.py createsuperuser# Start development serverpython manage.py runserver
Access Points:
- Application:http://localhost:8000
- Admin Panel:http://localhost:8000/admin/
- Schema Viewer:http://localhost:8000/schema-viewer/
- Register: Create account via email/password or Google OAuth
- Post Jobs: Dashboard → "Post New Job" → Fill details → Publish
- Manage Applications: Review candidates, schedule interviews, track status
- Analytics: Monitor job performance and application metrics
- Search: Use keyword filters on homepage for relevant opportunities
- Apply: Click "Apply Now" and submit application with resume
- Track: Monitor application status in your profile dashboard
- Alerts: Enable email notifications for matching job opportunities
- User Management: Oversee user accounts and permissions
- Content Moderation: Review and approve job postings
- Analytics: Access platform-wide metrics and reports
- System Monitoring: Track performance and usage statistics
PeelJobs provides comprehensive RESTful APIs for third-party integrations:
- Job Listings API: Retrieve and filter job postings
- Application API: Submit and track job applications
- User Management API: Handle user registration and profiles
- Search API: Advanced job search capabilities
For detailed API documentation, visit:SETUP.md
We welcome contributions from the community! Here's how to get started:
- Fork the repository on GitHub
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes with proper tests
- Format code with
black .and check dependencies withpipdeptree - Commit changes (
git commit -m "Add amazing feature") - Push to your fork (
git push origin feature/amazing-feature) - Submit a Pull Request with detailed description
- Follow Django best practices and PEP 8
- Write comprehensive tests for new features
- Update documentation for API changes
- Use meaningful commit messages
- 🐛 Bug fixes and improvements
- 🔍 Enhanced search functionality
- 📱 Mobile experience optimization
- 🎨 UI/UX improvements
- 🔒 Security enhancements
- 📊 Analytics and reporting features
This project is licensed under theMIT License. SeeLICENSE for details.
- Documentation:https://opensource-job-portal.readthedocs.io/en/latest/
- Issues: Report bugs and request features on GitHub Issues
- Discussions: Join community discussions on GitHub Discussions
Happy coding! 🚀
About
opensource jobportal in python django
Topics
Resources
License
Contributing
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors5
Uh oh!
There was an error while loading.Please reload this page.