Skip to content

BuildMindX/JobHuntPro-Job-Listing-Frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

18 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

JobHunt Pro - Job Listings Frontend

A modern, responsive job board application built with React that allows users to search, filter, and manage job listings. The application features a beautiful UI with a focus on user experience and functionality. Features intelligent job scraping from LinkedIn with advanced filtering and prioritization.

πŸ”— Project Components

  • Frontend (This Repository):

    • Modern React-based UI
    • Responsive design
    • Real-time job updates
    • Advanced search and filtering
    • Beautiful job cards
    • Intuitive user interface
  • Backend: JobHuntPro-Job-Listing-Backend

    • RESTful API
    • LinkedIn job scraping
    • Database management
    • Job analytics
    • Search optimization

🌟 Features

  • Job Search & Filtering

    • Search jobs by keyword, title, or location
    • Filter by location, company, job type, and experience level
    • Sort jobs by date posted, title, company, or location
    • Real-time search results
    • Advanced filtering system
    • Clear all filters option
  • Job Management

    • Post new job listings with detailed information
    • Edit existing job listings
    • Delete job listings
    • Automated job scraping functionality through LinkedIn
    • View job statistics and metrics
  • Intelligent LinkedIn Integration

    • Display of scraped jobs with smart filtering
    • Focus on full-time, mid to senior positions
    • Advanced job prioritization system
    • Technology-aware ranking
    • Quality-based sorting
    • Last 24 hours listings
  • Modern UI/UX

    • Responsive design for all devices
    • Beautiful gradient backgrounds
    • Smooth animations and transitions
    • Loading states and error handling
    • Clean and intuitive interface
    • Accessibility features

πŸš€ Getting Started

Prerequisites

  • Node.js (v14 or higher)
  • npm or yarn
  • Backend API running on http://localhost:5000

Installation

  1. Clone both repositories:
# Clone Frontend
git clone <repository-url>
cd job-listings-frontend

# Clone Backend
git clone https://github.com/M-Husnain-Ali/JobHuntPro-Job-Listing-Backend
cd JobHuntPro-Job-Listing-Backend
  1. Install dependencies for both:
# Frontend dependencies
cd job-listings-frontend
npm install

# Backend dependencies
cd ../JobHuntPro-Job-Listing-Backend
npm install
  1. Start both servers:
# Start Backend (in JobHuntPro-Job-Listing-Backend directory)
npm start

# Start Frontend (in job-listings-frontend directory)
npm start

The frontend application will be available at http://localhost:3000 and will connect to the backend at http://localhost:5000.

πŸ”§ Configuration

Frontend Configuration

The frontend is configured to connect to the backend API at http://localhost:5000. This can be modified in:

  • src/services/BackendService.js - API base URL
  • package.json - proxy configuration
  • .env file - Environment variables

Environment Variables

REACT_APP_API_URL=http://localhost:5000
REACT_APP_VERSION=1.0.0

πŸ“ Project Structure

src/
β”œβ”€β”€ components/          # Reusable UI components
β”‚   β”œβ”€β”€ common/         # Shared components
β”‚   β”‚   β”œβ”€β”€ Button.js   # Custom button component
β”‚   β”‚   β”œβ”€β”€ Input.js    # Form input component
β”‚   β”‚   └── Modal.js    # Modal dialog component
β”‚   β”œβ”€β”€ Header.js       # App header with navigation
β”‚   β”œβ”€β”€ HeroSection.js  # Hero section with search
β”‚   β”œβ”€β”€ JobCard.js      # Job listing card component
β”‚   β”œβ”€β”€ FilterSidebar.js# Filtering sidebar
β”‚   └── AddJobModal.js  # Job posting modal
β”œβ”€β”€ screens/            # Screen components
β”‚   β”œβ”€β”€ JobListScreen.js# Main job listing screen
β”‚   β”œβ”€β”€ DashboardScreen.js# Statistics dashboard
β”‚   └── AboutScreen.js  # About page
β”œβ”€β”€ services/           # API services
β”‚   β”œβ”€β”€ BackendService.js# Backend API integration
β”‚   └── JobService.js   # Job-related API calls
β”œβ”€β”€ hooks/             # Custom React hooks
β”‚   β”œβ”€β”€ useJobs.js     # Job data management
β”‚   └── useFilters.js  # Filter state management
β”œβ”€β”€ context/           # React context providers
β”‚   └── JobContext.js  # Job data context
β”œβ”€β”€ utils/             # Utility functions
β”‚   β”œβ”€β”€ api.js        # API helper functions
β”‚   └── filters.js    # Filter helper functions
β”œβ”€β”€ styles/           # Styling files
β”‚   β”œβ”€β”€ global.css    # Global styles
β”‚   └── variables.css # CSS variables
β”œβ”€β”€ App.js            # Main application component
β”œβ”€β”€ App.css           # Global styles
└── index.js          # Application entry point

πŸ”Œ API Integration

Job Management

// Get all jobs with filters
GET /api/jobs?location=&company=&job_type=&experience=&sort_by=&sort_order=

// Create new job
POST /api/jobs
{
  title: string,
  company: string,
  location: string,
  description: string,
  salary: string,
  job_type: string,
  experience_level: string,
  application_url: string
}

// Update job
PUT /api/jobs/:id
{
  // Same fields as POST
}

// Delete job
DELETE /api/jobs/:id

Job Scraping

// Trigger job scraping
POST /api/scrape

// Get scraping status
GET /api/scrape/status

Statistics

// Get job statistics
GET /api/stats

πŸ”’ Security Features

  • CORS configuration
  • Input validation
  • XSS prevention
  • API error handling
  • Rate limiting handling
  • Secure HTTP headers

🎨 Features in Detail

Job Search and Filtering

  • Full-text search across job title, company, and location
  • Advanced filtering options:
    • Location filter
    • Company filter
    • Job type (Full-time, Part-time, Contract, Internship)
    • Experience level (Entry, Mid, Senior)
  • Sort by multiple criteria
  • Clear all filters option

Job Management

  • Add new jobs with detailed information
  • Edit existing jobs
  • Delete jobs
  • Automated job scraping from external sources
  • Bulk operations support

Statistics Dashboard

  • Total jobs count
  • Scraped vs. manually added jobs ratio
  • Top companies chart
  • Location distribution
  • Job type breakdown
  • Real-time updates

🎯 Future Enhancements

  • User authentication and authorization
  • Job application tracking
  • Email notifications
  • Advanced search filters
  • Company profiles
  • Mobile app version
  • Saved searches
  • Job alerts
  • Resume parser
  • Application tracking system

πŸ› οΈ Development

Component Development

  • Storybook integration for component development
  • Jest and React Testing Library for unit tests
  • E2E tests with Cypress
  • ESLint and Prettier for code formatting

State Management

  • React Context for global state
  • Custom hooks for reusable logic
  • Local storage for persistence
  • Real-time updates

🀝 Contributing

  1. Fork the repository
  2. Create a new branch for your feature
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

πŸ“„ License

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

πŸ”— Related Projects

About

JobHunt Pro Frontend is a modern React-based UI for a job listing platform. It features job search, filters, and LinkedIn scraping integration, offering users a seamless and responsive job-hunting experience.

Topics

Resources

Stars

Watchers

Forks

Contributors