Skip to content

reckless-sherixx/Dev-Jobs

Repository files navigation

Dev-Jobs πŸ’Ό

A modern, full-stack job platform built with Next.js, designed to connect developers with their dream opportunities. This platform provides a seamless experience for both job seekers and employers in the tech industry.

πŸš€ Features

For Job Seekers

  • Profile Management: Create and customize your developer profile
  • Job Search & Filtering: Advanced search with filters location, salary
  • Application Tracking: Keep track of your job applications and their status

For Employers

  • Company Profiles: Create detailed company pages to attract top talent
  • Job Posting Management: Easy-to-use job posting interface with rich text editing
  • Candidate Search: Search and filter through developer profiles
  • Application Management: Streamlined hiring workflow and candidate tracking
  • Analytics Dashboard: Insights into job posting performance and applicant metrics

Platform Features

  • Real-time Notifications: Instant updates on applications, messages, and job matches
  • Messaging System: Direct communication between employers and candidates
  • Advanced Search: Powerful search capabilities with multiple filter options
  • Responsive Design: Optimized for desktop, tablet, and mobile devices
  • Dark/Light Mode: Theme switching for better user experience

πŸ› οΈ Tech Stack

Frontend

  • Next.js 15+ - React framework with App Router
  • TypeScript - Type-safe development
  • Tailwind CSS - Utility-first CSS framework
  • Shadcn/ui - Modern component library

Backend

  • Next.js API Routes - Serverless API endpoints
  • Prisma ORM - Database management and migrations
  • PostgreSQL - Primary database
  • NextAuth.js - Authentication and authorization

Additional Tools

  • Vercel - Deployment and hosting
  • Uploadthing - File upload management
  • Resend - Email service
  • Stripe - Payment processing (for premium features)
  • Geist Font - Modern typography

πŸ“¦ Installation

Prerequisites

  • Node.js 18+
  • npm/yarn/pnpm/bun
  • PostgreSQL database

Setup Instructions

  1. Clone the repository

    git clone https://github.com/reckless-sherixx/Dev-Jobs.git
    cd Dev-Jobs
  2. Install dependencies

    npm install
    # or
    yarn install
    # or
    pnpm install
    # or
    bun install
  3. Environment Configuration

    Create a .env.local file in the root directory:

    # Database
    DATABASE_URL="postgresql://username:password@localhost:5432/devjobs"
    
    # NextAuth
    NEXTAUTH_SECRET="your-secret-key"
    NEXTAUTH_URL="http://localhost:3000"
    
    # OAuth Providers (optional)
    GOOGLE_CLIENT_ID="your-google-client-id"
    GOOGLE_CLIENT_SECRET="your-google-client-secret"
    GITHUB_CLIENT_ID="your-github-client-id"
    GITHUB_CLIENT_SECRET="your-github-client-secret"
    
    # Email Service
    RESEND_API_KEY="your-resend-api-key"
    
    # File Upload
    UPLOADTHING_SECRET="your-uploadthing-secret"
    UPLOADTHING_APP_ID="your-uploadthing-app-id"
    
    # Stripe (optional)
    STRIPE_SECRET_KEY="your-stripe-secret-key"
    STRIPE_WEBHOOK_SECRET="your-stripe-webhook-secret"
  4. Database Setup

    # Generate Prisma client
    npx prisma generate
    
    # Run database migrations
    npx prisma db push
    
    # Seed the database (optional)
    npx prisma db seed
  5. Start the development server

    npm run dev
    # or
    yarn dev
    # or
    pnpm dev
    # or
    bun dev
  6. Open your browser

    Navigate to http://localhost:3000 to see the application.

πŸ—‚οΈ Project Structure

Dev-Jobs/
β”œβ”€β”€ app/                    # Next.js App Router
β”‚   β”œβ”€β”€ (auth)/            # Authentication routes
β”‚   β”œβ”€β”€ (dashboard)/       # Dashboard routes
β”‚   β”œβ”€β”€ api/               # API routes
β”‚   β”œβ”€β”€ globals.css        # Global styles
β”‚   β”œβ”€β”€ layout.tsx         # Root layout
β”‚   └── page.tsx           # Home page
β”œβ”€β”€ components/            # Reusable components
β”‚   β”œβ”€β”€ ui/               # UI components
β”‚   β”œβ”€β”€ forms/            # Form components
β”‚   └── layout/           # Layout components
β”œβ”€β”€ lib/                  # Utility functions
β”‚   β”œβ”€β”€ auth.ts           # Authentication config
β”‚   β”œβ”€β”€ db.ts             # Database connection
β”‚   └── utils.ts          # Helper functions
β”œβ”€β”€ prisma/               # Database schema and migrations
β”‚   β”œβ”€β”€ schema.prisma     # Prisma schema
β”‚   └── seed.ts           # Database seeding
β”œβ”€β”€ public/               # Static assets
β”œβ”€β”€ types/                # TypeScript type definitions
└── config files         # Various configuration files

πŸš€ Deployment

Vercel (Recommended)

  1. Connect your repository to Vercel
  2. Configure environment variables in the Vercel dashboard
  3. Deploy - Vercel will automatically build and deploy your application

Manual Deployment

  1. Build the application

    npm run build
  2. Start the production server

    npm start

πŸ“ API Routes

Authentication

  • POST /api/auth/signin - User sign in
  • POST /api/auth/signup - User registration
  • POST /api/auth/signout - User sign out

Jobs

  • GET /api/jobs - Get all jobs with filtering
  • POST /api/jobs - Create new job posting
  • GET /api/jobs/[id] - Get specific job details
  • PUT /api/jobs/[id] - Update job posting
  • DELETE /api/jobs/[id] - Delete job posting

Applications

  • POST /api/applications - Submit job application
  • GET /api/applications - Get user applications
  • PUT /api/applications/[id] - Update application status

Users

  • GET /api/users/profile - Get user profile
  • PUT /api/users/profile - Update user profile
  • POST /api/users/upload-resume - Upload resume

🀝 Contributing

We welcome contributions! Please follow these steps:

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

Development Guidelines

  • Follow the existing code style and conventions
  • Write meaningful commit messages
  • Add tests for new features
  • Update documentation as needed
  • Ensure all tests pass before submitting

πŸ™ Acknowledgments

  • Next.js for the amazing React framework
  • Vercel for hosting and deployment
  • Tailwind CSS for the utility-first CSS framework
  • Shadcn/ui for the beautiful component library

Made with ❀️ by reckless-sherixx

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages