Skip to main content

Development Setup Guide

Overview

This guide will help you set up a complete development environment for JobHive. The platform uses Django for the backend, React for the frontend, and requires several external services for full functionality.

Prerequisites

System Requirements

  • Operating System: macOS, Linux, or Windows with WSL2
  • Python: 3.11 or higher
  • Node.js: 18.x or higher
  • Docker: 20.10 or higher (for services)
  • Git: Latest version
  • Memory: 8GB RAM minimum, 16GB recommended
  • Storage: 10GB free space

Required Tools

Initial Setup

1. Clone the Repository

2. Environment Configuration

Environment Variables (.env.local)

Backend Setup

1. Python Environment Setup

2. Install Dependencies

3. Database Setup

4. Redis Setup

5. Initial Data Setup

6. Start Development Server

7. Start Background Workers

Frontend Setup (Optional)

If you’re working on the full-stack application:

1. Install Node.js Dependencies

2. Frontend Environment Configuration

Frontend Environment Variables

3. Start Frontend Development Server

Docker Development Environment

For a complete containerized development environment:

1. Docker Compose Setup

2. Verify Services

3. Django Commands in Docker

Database Management

Development Database Commands

Useful Database Queries

Testing Setup

1. Running Tests

2. Test Database

3. API Testing

Development Tools and Pre-commit Hooks

1. Code Quality Tools Setup

2. Code Formatting

3. Pre-commit Configuration (.pre-commit-config.yaml)

IDE Configuration

Visual Studio Code Setup

2. VS Code Settings (.vscode/settings.json)

3. Launch Configuration (.vscode/launch.json)

PyCharm Setup

1. Project Configuration

  1. Open project in PyCharm
  2. Configure Python interpreter: Settings → Project → Python Interpreter
  3. Select existing virtual environment: ./venv/bin/python
  4. Enable Django support: Settings → Languages & Frameworks → Django
  5. Set Django project root and settings module

2. Run Configurations

Troubleshooting Common Issues

Database Connection Issues

Redis Connection Issues

Migration Issues

Celery Issues

Permission Issues

Port Conflicts

Development Workflow

1. Daily Development Routine

2. Making Changes

3. Integration Testing

Additional Resources

Development Tools

Useful Commands Reference

This development setup guide should get you up and running with a fully functional JobHive development environment. For additional help, refer to the troubleshooting section or reach out to the development team.