Skip to content

Latest commit

 

History

History
83 lines (61 loc) · 2.97 KB

File metadata and controls

83 lines (61 loc) · 2.97 KB
# NigeriaJobs

Job Posting Aggregator for Nigerian Job Seekers


Project Overview


This project is a web-based job posting aggregator designed to address the challenges faced by Nigerian job seekers. It automatically collects and consolidates job listings from multiple Nigerian job boards, presenting them in a single, user-friendly platform. The application saves users time and effort by eliminating the need to browse multiple websites for new opportunities. 
Features



Automated Web Scraping: Gathers job postings from major Nigerian job websites.
Centralized Database: Stores aggregated job listings in a structured MongoDB database.
Search and Filtering: Allows users to easily find jobs based on keywords, location, company, or category.
User-Friendly Interface: Provides a responsive and intuitive web interface for browsing job listings.
Automated Updates: A scheduled task ensures the job listings are kept fresh and up-to-date.
Robust Backend: Built with Node.js and Express to handle data scraping and serve the API.
Modern Frontend: Developed with React/Next.js and styled with Tailwind CSS for a modern, responsive design. 
Technologies



Frontend: React / Next.js, Tailwind CSS
Backend: Node.js, Express
Database: MongoDB (via Mongoose)
Scraping: Axios, Cheerio, Puppeteer
Automation: node-cron
Version Control: Git, GitHub



Project Structure
The repository follows a monorepo structure, housing both the frontend and backend of the application in separate directories for a clear separation of concerns.


job-aggregator/
│
├── .gitignore          # Excludes unnecessary files like node_modules and .env
├── README.md           # The file you are reading now
│
├── /frontend           # React/Next.js client-side application
│   ├── /components
│   ├── /pages
│   ├── /public
│   ├── /src
│   └── package.json
│
└── /backend            # Node.js/Express server with scraping logic
    ├── src/
    │   ├── /models       # Mongoose schemas for the database
    │   ├── /scrapers     # Logic for scraping different job sites
    │   ├── /routes       # API endpoints for fetching jobs
    │   └── server.js     # Entry point for the Express server
    └── package.json


How to Run Locally
Clone the repository:
sh
git clone https://github.com/your-username/job-aggregator.git
cd job-aggregator
Use code with caution.

Set up the backend:
sh
cd backend
npm install
# Create a .env file with your MongoDB connection string
npm run dev
Use code with caution.

Set up the frontend:
sh
cd ../frontend
npm install
npm start
Use code with caution.

Contribution
This is an open-source project. Feedback, bug reports, and contributions are welcome. Please refer to the CONTRIBUTING.md file (if you choose to create one) for more details.