Pmail is a comprehensive email system designed specifically for job applications and employer-employee communication. It features spam detection using machine learning, job application tracking, and a user-friendly interface for employees, employers, and administrators.
The system supports three distinct user roles:
- Employees: Can browse and apply for jobs, manage their applications, and communicate with employers
- Employers: Can post job listings, review applications, and are required to update job application statuses (Pending, Under Review, Accepted, Rejected) to keep applicants informed
- Administrators: Have system-wide oversight capabilities for managing users and monitoring platform activity
The following instructions will guide you through running and configuring the Pmail system.
- CPU: Intel Core i5+ (or AMD equivalent)
- RAM: Minimum 8 GB
- Disk: ≥ 2 GB free space
- Network: Internet access needed for downloads
- OS: macOS 10.15+, Windows 10+, or Ubuntu 20.04+
- Python: 3.8+
- Package Manager: pip (or conda)
-
Install XAMPP
- Download and install XAMPP from https://www.apachefriends.org/
-
Start Database Services
- Open XAMPP Control Panel
- Start Apache and MySQL modules
-
Extract and Enter Project
cd /path/to/Pmail -
Install Python Environment
For Windows:
winget install Python.Python.3
For macOS:
brew install python3
For Linux (Ubuntu):
sudo apt update sudo apt install python3 python3-pip
-
Install Dependencies
pip install pandas numpy scikit-learn matplotlib seaborn flask
-
Configure the Web Application
- Ensure all configuration files are properly set up
- Verify database connection settings
-
Initialize the Database
- The database will be automatically created when you first run the application
-
Run the Server
python -m backend.app
-
Access the Application
- Main Application: Visit
http://localhost:5000/frontend/login.htmlin your browser - Database Management: Visit
http://localhost/phpmyadmin/for phpMyAdmin access
- Main Application: Visit
Once the installation is complete:
- Register as a new user (Employee, Employer, or Administrator)
- Log in to access your role-specific dashboard
- Employees can browse jobs and send applications
- Employers can post jobs, manage applications, and must update application statuses to keep candidates informed
- Administrators can oversee system operations and manage users
- The system automatically detects and filters spam messages
- Spam Detection: Machine learning-powered spam filtering using RandomForest and TF-IDF
- Job Management: Post, browse, and apply for jobs
- Message System: Complete email-like messaging between users
- Three User Roles: Separate interfaces and capabilities for employees, employers, and administrators
- Application Status Tracking: Employers are required to update application statuses (Pending, Under Review, Accepted, Rejected), with automatic notifications sent to applicants
- Real-time Updates: Monitor job application progress and receive status notifications
- Ensure XAMPP services are running before starting the application
- Check that Python 3.8+ is installed and accessible
- Verify all dependencies are installed correctly
- Make sure port 5000 is not being used by another application
For issues or questions, please refer to the project documentation or contact me.