JobCrawler is a robust job searching bot designed to find and aggregate job postings from popular job board platforms such as LinkedIn, Glassdoor, and Indeed. It filters jobs based on their post time and sends them to a configured Telegram channel.
- Job Scraping: Retrieves job listings from LinkedIn, Glassdoor, and Indeed.
- Telegram Integration: Sends job details to a specified Telegram channel.
- Filtering: Filters jobs based on posting time to ensure the latest opportunities.
- Configurable: Easy configuration through application settings.
- .NET Core 8 WebAPI: The backend framework for building the API.
- Services and Interfaces: Modular design with services handling core functionalities.
- Telegram Bot API: Integration for sending messages to Telegram channels.
- Dependency Injection: Ensures scalable and maintainable code.
- Clone the repository:
git clone https://github.com/AliShahbazi81/JobCrawler.git cd JobCrawler
- Create
appsettings.json
with your specific configurations, especially the Telegram API settings. - Restore the necessary packages:
dotnet restore
- Build the project:
dotnet build
- Run the application:
dotnet run
- Monitor the console output for logs indicating successful job scraping and Telegram message dispatches.
Create an appsettings.json
file in the /JobCrawler/
directory alongside the file JobCrawler.csproj
with the following structure to configure your Telegram bot settings:
{
"Telegram": {
"ApiToken": "YOUR_TELEGRAM_BOT_TOKEN",
"ChannelId": "YOUR_TELEGRAM_CHANNEL_ID"
}
}
- JobCrawler.Domain: Contains the domain entities and business logic.
- JobCrawler.Infrastructure.Crawler: Handles the job scraping functionalities.
- JobCrawler.Services.Crawler: Manages the interaction with job board platforms.
- JobCrawler.Services.TelegramAPI: Manages the Telegram Bot API integration.
- Fork the repository.
- Create a new 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.
For any questions or feedback, please contact Ali Shahbazi at [email protected] or open an issue on this repository.