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.
- 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
- 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
- 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
- Next.js 15+ - React framework with App Router
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first CSS framework
- Shadcn/ui - Modern component library
- Next.js API Routes - Serverless API endpoints
- Prisma ORM - Database management and migrations
- PostgreSQL - Primary database
- NextAuth.js - Authentication and authorization
- Vercel - Deployment and hosting
- Uploadthing - File upload management
- Resend - Email service
- Stripe - Payment processing (for premium features)
- Geist Font - Modern typography
- Node.js 18+
- npm/yarn/pnpm/bun
- PostgreSQL database
-
Clone the repository
git clone https://github.com/reckless-sherixx/Dev-Jobs.git cd Dev-Jobs -
Install dependencies
npm install # or yarn install # or pnpm install # or bun install
-
Environment Configuration
Create a
.env.localfile 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"
-
Database Setup
# Generate Prisma client npx prisma generate # Run database migrations npx prisma db push # Seed the database (optional) npx prisma db seed
-
Start the development server
npm run dev # or yarn dev # or pnpm dev # or bun dev
-
Open your browser
Navigate to http://localhost:3000 to see the application.
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
- Connect your repository to Vercel
- Configure environment variables in the Vercel dashboard
- Deploy - Vercel will automatically build and deploy your application
-
Build the application
npm run build
-
Start the production server
npm start
POST /api/auth/signin- User sign inPOST /api/auth/signup- User registrationPOST /api/auth/signout- User sign out
GET /api/jobs- Get all jobs with filteringPOST /api/jobs- Create new job postingGET /api/jobs/[id]- Get specific job detailsPUT /api/jobs/[id]- Update job postingDELETE /api/jobs/[id]- Delete job posting
POST /api/applications- Submit job applicationGET /api/applications- Get user applicationsPUT /api/applications/[id]- Update application status
GET /api/users/profile- Get user profilePUT /api/users/profile- Update user profilePOST /api/users/upload-resume- Upload resume
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- 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
- 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