This Telegram bot is designed to streamline the process of managing resumes, job positions, and candidate information. It provides a user-friendly Telegram bot for HR departments to handle resumes efficiently.
Jobseeker demo | Admin search demo |
- Resume Submission: Candidates can submit their resumes in PDF format.
- Job Positions: Manage and display various job positions available in the company.
- Automated Messaging: Send automated messages to candidates regarding their application status.
- Database Integration: Store and retrieve candidate information from a database.
- Specialization Markup: Generate specialized markup for different job positions.
-
Clone the repository:
git clone https://github.com/yourusername/resume-management-system.git cd resume-management-system
-
Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required dependencies:
pip install -r requirements.txt
-
Set up the environment variables:
- Copy
config_sample.env
toconfig.env
:
cp config_sample.env config.env
- Update
config.env
with your configuration details.
- Copy
- Run the main application:
python main.py
You can add change the specializations and departments by updating the buttons in the buttons.py
file. Make sure to add the corresponding prefixes in the callback-data
to handle the button clicks.
You can use any database of your choice. For now, you can change this in the database.py
file. Change the database connection to the method that suits your database.
buttons.py
: Contains functions for generating button markups.commands.py
: Handles various command-line operations.config.py
: Configuration settings for the application.database.py
: Database operations and functions.get_resumes_conv.py
: Handles resume conversion processes.main.py
: Entry point of the application.positions_conv.py
: Manages job positions and related operations.utils.py
: Utility functions used across the project.
We welcome contributions! Please follow these steps to contribute:
-
Fork the repository.
-
Create a new branch:
git checkout -b feature/your-feature-name
-
Make your changes and commit them:
git commit -m "Add your message here"
-
Push to the branch:
git push origin feature/your-feature-name
-
Create a pull request.
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.
The code in this project is not really thought out and is not meant to be used in production. It is only for educational purposes. Also note that this project uses the Jalali date format for the date picker.