Intelligently analyzes user preferences and scrapes job listings to find the perfect career opportunities
β¨ Features β’ π Quick Start β’ π Configuration β’ π€ Contributing
Dream Job is an AI-powered job search tool that helps users quickly find relevant employment opportunities. Built mostly with JavaScript and TypeScript, it uses intelligent matching to streamline the job hunt.
| AI-Powered Analysis | Uses any AI service (OpenAI, Gemini) to extract job preferences from natural language |
| Smart Job Scraping | Automated scraping from popular job boards (ZipRecruiter, Indeed, and more) |
| Intelligent Ranking | AI-driven job ranking based on user preferences and requirements |
| Modern Interface | Built with Next.js and React for a seamless user experience |
| Database Integration | PostgreSQL with Prisma ORM for efficient data management |
Before you begin, ensure you have the following installed:
- Docker and Docker Compose
- AI Provider API key
- Auth Provider (Optional)
- Proxy Provider (Optional but recommended)
git clone https://github.com/afnx/dream-job.git
cd dream-jobCopy the environment template and configure your settings:
cp .env.example .envEdit the .env file with your configuration:
# Project Configuration
ENV=dev
DOMAIN=localhost
# Backend Configuration
NODE_PORT=5000
NODE_HOST=localhost
NODE_API_PREFIX=/api
NODE_API_VERSION=v1
# Database Configuration
DATABASE_HOST=db
DATABASE_PORT=5432
DATABASE_USER=postgres_user
DATABASE_PASSWORD=postgres_password
DATABASE_NAME=dream_job_db
# AI Configuration
AI_PROVIDER=openai
AI_API_KEY=your_openai_api_key_here
AI_MODEL=gpt-3.5-turbo
# Frontend Configuration
NEXT_JS_PORT=3000
NEXT_JS_HOST=localhost
# Auth Configuration
AUTH_PROVIDER=cognito
COGNITO_AUTH_USER_POOL_ID=your_user_pool_id
COGNITO_AUTH_CLIENT_ID=your_client_id
COGNITO_AUTH_CLIENT_SECRET=your_client_secret
COGNITO_AUTH_REGION=your_region
# Proxy Configuration
PROXY_ENABLED=true
PROXY_HOST=localhost
PROXY_PORT=8080
PROXY_USERNAME=your_proxy_username
PROXY_PASSWORD=your_proxy_password
PROXY_BYPASS=localhost,127.0.0.1Start all services with Docker Compose:
# Start all services
docker compose up -d
# View logs
docker compose logs -f
# Stop services
docker compose downπ That's it! Your Dream Job application should now be running at
http://localhost:3000
OpenAI Setup
- Visit OpenAI Platform
- Create an API key
- Add your API key to the
.envfile:AI_PROVIDER=openai AI_API_KEY=your-api-key-here AI_MODEL=gpt-3.5-turbo
The project uses PostgreSQL with Prisma ORM. Database schema is located in backend/prisma/schema.prisma.
cd backend
# Generate Prisma client
npx prisma generate
# Run migrations
npx prisma migrate dev
# View database in browser
npx prisma studio| Component | Command | Description |
|---|---|---|
| Backend | npm test |
Run all backend tests |
| Frontend | npm test |
Run all frontend tests |
| Coverage | npm run test:coverage |
Generate coverage report |
| Watch | npm run test:watch |
Run tests in watch mode |
| Platform | Status | Notes |
|---|---|---|
| ZipRecruiter | β Active | Full scraping support |
| Indeed | π§ In Development |
| Service | Status | Models |
|---|---|---|
| OpenAI | β Active | GPT-3.5, GPT-4 |
| Gemini | π Coming Soon | Pro, Ultra |
We welcome contributions from developers of all skill levels!
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Backend: ESLint configuration in
backend/eslint.config.js - Frontend: ESLint configuration in
frontend/eslint.config.mjs
AI Provider API Errors
- β Verify your API key is correct
- β Check your AI provider account has sufficient credits
- β Ensure the model name is correct
Database Connection Issues
- β Verify PostgreSQL is running
- β
Check database credentials in
.env - β
Run
npx prisma generateafter schema changes
Scraping Issues
- β Some sites may block requests (rate limiting)
- β
Playwright may need browser installation:
npx playwright install
# View backend logs
docker compose logs backend
# View frontend logs
docker compose logs frontend
# View all logs
docker compose logs -fThis project is licensed under the Business Source License 1.1 - see the LICENSE file for details.
- Ali Fuat Numanoglu - Initial work - @afnx
- π Report Issues
- π§ Contact Me
- β If this project helped you, please give it a star!
Made with β€οΈ by Ali Fuat Numanoglu