JobNest is a web application designed to connect IT professionals and students to job and internship opportunities. It features real-time job scraping, user registration, and personalized application tracking in a modern, user-friendly interface.
- Real-Time Job Scraping: Automatically fetch job and internship opportunities from various platforms.
- Dynamic Filters: Filter opportunities by type (Job/Internship) and location.
- User Management: Register, log in, and manage your applications.
- Application Tracking: Submit applications and track their status directly through the platform.
JobNest/
├── app/
│ ├── templates/ # HTML templates for rendering views
│ │ ├── home.html
│ │ ├── login.html
│ │ ├── register.html
│ │ ├── apply.html
│ │ └── application_success.html
│ ├── static/ # Static files (CSS, images, etc.)
│ │ ├── css/
│ │ │ └── styles.css
│ │ └── images/
│ │ └── Jobnest.png
│ ├── app.py # Main Flask application
│ └── __init__.py # Initializes the Flask app (if using blueprints)
├── scraper/ # Web scraping scripts
│ └── job_scraper.py # LinkedIn job scraping script
├── venv/ # Virtual environment (not uploaded to GitHub)
├── .gitignore # Ignored files and directories
└── README.md # Project documentation
- Install Python (version 3.8 or later).
- Install Git.
- Install a web browser's WebDriver (e.g., ChromeDriver or EdgeDriver).
-
Clone the Repository:
git clone https://github.com/ayamekni/JobNest-App.git cd JobNest-App -
Set Up the Virtual Environment:
python -m venv venv
-
Activate the Virtual Environment:
- Windows:
.\venv\Scripts\activate
- Mac/Linux:
source venv/bin/activate
- Windows:
-
Install Dependencies:
pip install -r requirements.txt
-
Set Up Environment Variables:
- Copy the example.env file and rename it to .env.
- Add your own variables in the .env file:
SCRAPING_URL=https://hi-interns.com/internships?facets=%5B%22Company.City%22%2C%22Keywords.Value%22%5D&facetFilters=%5B%5B%22Keywords.Value%3APython%22%5D%5D WEBDRIVER_URL=
MONGO_URL= DB_NAME= COLLECTION_NAME=
USERNAME= PASSWORD=
BASE_URL=https://www.linkedin.com/jobs/search/?keywords={}&location=Tunisia ``` 6. Run the Application:
python app.pyThe application will run on http://127.0.0.1:5000.
- Run the Scraper:
To fetch job listings:
python scraper/job_scraper.py python scraper/job_scraperlinkedin.py
- Visit the home page to explore jobs and internships.
- Use filters to refine opportunities by type or location.
- Register or log in to apply for positions.
- Submit your application and track its status.
| Command | Description |
|---|---|
git clone <repo_url> |
Clone the repository |
python -m venv venv |
Create a virtual environment |
.venv\Scripts\activate |
Activate the virtual environment (Windows) |
source venv/bin/activate |
Activate the virtual environment (Linux/Mac) |
pip install -r requirements.txt |
Install project dependencies |
python app.py |
Run the Flask web application |
python scraper/job_scraper.py |
Run the job scraper |
We welcome contributions! Please follow these steps:
- Fork the repository.
- Create a feature branch (
git checkout -b feature-name). - Commit your changes (
git commit -m "Add feature"). - Push to your branch (
git push origin feature-name). - Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
For questions or suggestions, please contact:
- Email: aya.mekni10@gmail.com
- GitHub: (https://github.com/ayamekni)