# 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.
TEMPLE05/NigeriaJobs
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|