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: See SETUP.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, see SETUP.md
- Python 3.12+, PostgreSQL, Node.js, Redis
# Clone repository
git clone https://github.com/MicroPyramid/opensource-job-portal.git
cd opensource-job-portal
# Setup environment
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Configure database
createdb peeljobs_dev
python manage.py migrate
python manage.py createsuperuser
# Start development server
python 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 the MIT License. See LICENSE 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! π