Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/alishahbazi81/jobcrawler

Job crawler robot which finds jobs on job board platforms like LinkedIn, Glassdoor, and indeed based on their post time and send them to a telegram channel
https://github.com/alishahbazi81/jobcrawler

asp-net-core crawler jobs jobsearch telegram telegram-bot

Last synced: about 2 months ago
JSON representation

Job crawler robot which finds jobs on job board platforms like LinkedIn, Glassdoor, and indeed based on their post time and send them to a telegram channel

Awesome Lists containing this project

README

        


JobCrawler


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.


Features




  • 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.


Technologies Used




  • .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.


Installation



  1. Clone the repository:
    git clone https://github.com/AliShahbazi81/JobCrawler.git
    
    cd JobCrawler


  2. Create appsettings.json with your specific configurations, especially the Telegram API settings.

  3. Restore the necessary packages:
    dotnet restore


  4. Build the project:
    dotnet build



Usage



  1. Run the application:
    dotnet run


  2. Monitor the console output for logs indicating successful job scraping and Telegram message dispatches.


Configuration


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"
}
}

Project Structure




  • 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.


Contributing



  1. Fork the repository.

  2. Create a new feature branch (git checkout -b feature/AmazingFeature).

  3. Commit your changes (git commit -m 'Add some AmazingFeature').

  4. Push to the branch (git push origin feature/AmazingFeature).

  5. Open a pull request.


License


This project is licensed under the MIT License. See the LICENSE file for details.


Contact


For any questions or feedback, please contact Ali Shahbazi at [email protected] or open an issue on this repository.