Skip to content

Hsinha11/HireForge

Repository files navigation

๐Ÿš€ HireForge - Modern Job Board Platform

Connecting talent with opportunity through a seamless, modern job board experience

Next.js TypeScript Supabase Clerk Tailwind CSS Vercel

HireForge Logo

๐ŸŒ Live Demo | ๐Ÿ“ฑ Mobile Demo

Deploy on Vercel


๐Ÿ“ธ Screenshots

Home Page Job Listings Company Profile Dashboard

โœจ Features

๐ŸŽฏ Core Functionality

  • Job Listings: Browse and search through comprehensive job postings
  • Company Profiles: Detailed company information and job opportunities
  • Application System: Seamless job application process with real-time tracking
  • User Authentication: Secure authentication powered by Clerk
  • Responsive Design: Optimized for all devices and screen sizes

๐ŸŽจ User Experience

  • Modern UI/UX: Clean, intuitive interface with beautiful animations
  • Loading Screens: Professional loading experience with branded animations
  • Real-time Updates: Instant feedback and live data synchronization
  • Search & Filter: Advanced job search with multiple filtering options
  • Mobile-First: Optimized mobile experience with touch-friendly interactions

๐Ÿ”ง Technical Excellence

  • Serverless Architecture: Built on Supabase for scalability and performance
  • Type Safety: Full TypeScript implementation for robust development
  • Modern Stack: Next.js 15 with App Router and Turbopack
  • Performance Optimized: Fast loading times and smooth interactions
  • SEO Ready: Optimized for search engines and social sharing

โšก Performance Optimizations

  • Image Optimization: WebP/AVIF formats with automatic compression
  • Bundle Splitting: Intelligent code splitting for faster loads
  • Lazy Loading: Dynamic imports for heavy components
  • Preconnect Hints: Early connections to third-party domains
  • CSS Optimization: Performance-focused styling with containment
  • Core Web Vitals: Optimized for 90+ Lighthouse scores

๐Ÿ† Project Highlights

What Makes This Special

  • Full-Stack Development: Complete application from database to UI
  • Modern Architecture: Serverless, scalable, and maintainable
  • Production Ready: Deployed and optimized for real-world use
  • Performance Focused: 90+ Lighthouse scores across all metrics
  • Developer Experience: Clean code, proper documentation, and best practices

Technical Challenges Overcome

  • Database Migration: Successfully migrated from Fastify to Supabase
  • Authentication Integration: Seamless Clerk integration with protected routes
  • Real-time Features: Implemented live updates without page refreshes
  • Performance Optimization: Achieved sub-2s loading times with 98.7% image size reduction
  • Mobile Responsiveness: Perfect experience across all devices
  • Bundle Optimization: Reduced JavaScript execution time by 30%

๐Ÿ› ๏ธ Tech Stack

Frontend

  • Next.js 15.3.3 - React framework with App Router and Turbopack
  • TypeScript 5.0 - Type-safe development with strict configuration
  • Tailwind CSS 3.0 - Utility-first CSS framework with performance optimizations
  • Google Fonts - Inter, Poppins, JetBrains Mono with optimized loading
  • Radix UI - Accessible component primitives with tree-shaking

Backend & Database

  • Supabase - Serverless backend and PostgreSQL database
  • Prisma - Type-safe database client with migrations
  • Real-time Subscriptions - Live data updates with WebSocket connections

Authentication & Security

  • Clerk - Modern authentication and user management
  • JWT Tokens - Secure session management
  • Protected Routes - Role-based access control
  • Security Headers - XSS protection, content type options, frame options

Deployment & Infrastructure

  • Vercel - Serverless deployment platform with Edge Network
  • Environment Variables - Secure configuration management
  • CDN - Global content delivery network with caching
  • Compression - Gzip/Brotli compression for faster loads

Performance & Monitoring

  • Lighthouse CI - Automated performance testing
  • Core Web Vitals - FCP < 1.5s, LCP < 2.5s, TBT < 200ms
  • Bundle Analysis - Webpack bundle splitting and optimization
  • Image Optimization - WebP/AVIF with responsive sizing

๐Ÿš€ Quick Start

Prerequisites

  • Node.js 18+
  • npm or yarn
  • Supabase account
  • Clerk account

Installation

  1. Clone the repository

    git clone https://github.com/Hsinha11/HireForge.git
    cd hireforge
  2. Install dependencies

    npm install
  3. Environment Setup

    cp .env.example .env.local

    Configure your environment variables:

    # Supabase
    NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
    NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
    
    # Clerk
    NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
    CLERK_SECRET_KEY=your_clerk_secret_key
  4. Database Setup

    # Run database migrations
    npx prisma db push
    
    # Seed the database
    npm run seed
  5. Start Development Server

    npm run dev
  6. Open your browser

    http://localhost:3000
    

๐Ÿ“ Project Structure

hireforge/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ app/                    # Next.js App Router
โ”‚   โ”‚   โ”œโ”€โ”€ (auth)/            # Authentication pages
โ”‚   โ”‚   โ”œโ”€โ”€ dashboard/         # User dashboard
โ”‚   โ”‚   โ”œโ”€โ”€ jobs/             # Job listings and details
โ”‚   โ”‚   โ”œโ”€โ”€ companies/        # Company profiles
โ”‚   โ”‚   โ””โ”€โ”€ applications/     # Job applications
โ”‚   โ”œโ”€โ”€ components/           # Reusable UI components
โ”‚   โ”‚   โ”œโ”€โ”€ ui/              # Base UI components
โ”‚   โ”‚   โ”œโ”€โ”€ job/             # Job-related components
โ”‚   โ”‚   โ”œโ”€โ”€ company/         # Company-related components
โ”‚   โ”‚   โ””โ”€โ”€ RoleButtons.tsx  # Lazy-loaded component
โ”‚   โ”œโ”€โ”€ lib/                 # Utility functions and configs
โ”‚   โ””โ”€โ”€ middleware.ts        # Next.js middleware
โ”œโ”€โ”€ public/                  # Static assets (optimized images)
โ”œโ”€โ”€ prisma/                 # Database schema and migrations
โ””โ”€โ”€ scripts/                # Database seeding and utilities

๐ŸŽฏ Key Features Deep Dive

Job Management System

  • Advanced Search: Filter by location, salary, experience level, and more
  • Real-time Updates: Live job posting updates without page refresh
  • Application Tracking: Monitor application status and responses
  • Company Integration: Seamless connection between jobs and companies

User Experience

  • Progressive Loading: Smooth loading states and skeleton screens
  • Responsive Design: Optimized for desktop, tablet, and mobile
  • Accessibility: WCAG compliant with keyboard navigation support
  • Performance: Optimized images, lazy loading, and code splitting

Developer Experience

  • Type Safety: Full TypeScript coverage with strict configuration
  • Code Quality: ESLint and Prettier for consistent code style
  • Testing Ready: Jest and React Testing Library setup
  • Documentation: Comprehensive inline documentation and comments

Performance Optimizations

  • Image Compression: 98.7% size reduction (1MB โ†’ 13KB WebP)
  • Bundle Splitting: Separate chunks for Clerk, Supabase, and vendors
  • Lazy Loading: Dynamic imports for non-critical components
  • Preconnect Hints: Early DNS resolution for third-party domains
  • CSS Containment: Layout and paint containment for better rendering
  • Security Headers: XSS protection, content type options, caching

๐Ÿ”ง Configuration

Environment Variables

# Database
DATABASE_URL="postgresql://..."

# Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY="pk_..."
CLERK_SECRET_KEY="sk_..."

# Supabase
NEXT_PUBLIC_SUPABASE_URL="https://..."
NEXT_PUBLIC_SUPABASE_ANON_KEY="eyJ..."

# Deployment
NEXT_PUBLIC_APP_URL="https://your-domain.com"

Database Schema

The application uses a well-structured database schema with:

  • Users: Authentication and profile management
  • Companies: Company information and branding
  • Jobs: Job postings with detailed requirements
  • Applications: Job application tracking system

Performance Configuration

// next.config.ts
const nextConfig = {
  experimental: {
    optimizePackageImports: ['lucide-react', '@radix-ui/*'],
    turbo: { rules: { '*.svg': { loaders: ['@svgr/webpack'] } } }
  },
  images: { formats: ['image/webp', 'image/avif'] },
  compress: true,
  swcMinify: true,
  webpack: (config) => {
    // Bundle splitting for Clerk and Supabase
    config.optimization.splitChunks = { /* ... */ }
  }
}

๐Ÿš€ Deployment

Vercel Deployment

  1. Connect your GitHub repository to Vercel
  2. Configure environment variables in Vercel dashboard
  3. Deploy with automatic CI/CD pipeline

Production Checklist

  • Environment variables configured
  • Database migrations applied
  • SSL certificates enabled
  • Performance monitoring setup
  • Error tracking configured
  • Analytics integration
  • Image optimization enabled
  • Bundle splitting configured
  • Security headers implemented

๐Ÿ“Š Performance Metrics

  • Lighthouse Score: 90+ across all categories
  • First Contentful Paint: < 1.5s
  • Largest Contentful Paint: < 2.5s
  • Cumulative Layout Shift: < 0.1
  • First Input Delay: < 100ms
  • Total Blocking Time: < 200ms
  • Image Optimization: 98.7% size reduction
  • Bundle Size: 30% reduction through splitting

Performance Optimizations Implemented

  • โœ… Image Optimization: WebP/AVIF with automatic compression
  • โœ… Bundle Splitting: Intelligent code splitting for faster loads
  • โœ… Lazy Loading: Dynamic imports for heavy components
  • โœ… Preconnect Hints: Early connections to third-party domains
  • โœ… CSS Optimization: Performance-focused styling
  • โœ… Security Headers: XSS protection and caching policies
  • โœ… Font Optimization: Reduced font weights and display swap
  • โœ… Code Splitting: Separate chunks for major dependencies

๐Ÿ”ฎ Future Roadmap

Phase 1 - Enhanced Features

  • Advanced job search with AI recommendations
  • Resume parsing and matching
  • Email notifications and alerts
  • Company analytics dashboard

Phase 2 - Scale & Performance

  • CDN optimization for global users
  • Advanced caching strategies
  • Real-time collaboration features
  • Mobile app development

Phase 3 - Enterprise Features

  • Multi-tenant architecture
  • Advanced reporting and analytics
  • API for third-party integrations
  • White-label solutions

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Workflow

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“ License

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


๐Ÿ™ Acknowledgments

  • Next.js Team - For the amazing React framework
  • Supabase - For the powerful backend-as-a-service
  • Clerk - For modern authentication solutions
  • Tailwind CSS - For the utility-first CSS framework
  • Vercel - For seamless deployment and hosting

๐Ÿ“ž Contact & Support


Built with โค๏ธ by the HireForge Team

Star this repository if you found it helpful!

Stars Forks Issues

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published