- Python 3.13 or higher
- pip (Python package installer)
-
- Node.js (v16+)
- npm (v8+)
- Git
-
Clone the repository
git clone https://github.com/ThomasT-GitHub/HireTune.git cd HireTune -
Create and activate a virtual environment
# Create Virtual Enviornment python -m venv .venv # Activate Virtual Enviornment # On Windows .venv\Scripts\activate # On macOS/Linux source .venv/bin/activate
-
Install dependencies
# Install Python dependencies cd HireTune python -m venv .venv source .venv/bin/activate # On macOS/Linux pip install -r requirements.txt # Install Node.js dependencies cd HireTuneSite/frontend npm install
-
Set up Docker
To set up Docker, just install it, from here on out we use the Docker CLI to testTo build, use docker compose up -d --build This builds our program with its database, but this isn't the final implementation for it
This is ran detatched, you can see the results at 0.0.0.0:8000
to run commands, we'll be using
docker compose exec <command>
The rest of readme assumes you are using docker compose exec, so it provides
When referencing manage.py, we really mean HireTuneSite/manage.py, so make sure to make that swap at every point
-
Create a superuser (admin)
python manage.py createsuperuser
-
Running the Application
You'll need two terminal windows:Terminal 1: Run the webpack build process This watches for changes to React files and rebuilds automatically.
cd HireTuneSite/frontend npm run devTerminal 2: Run the Django server
cd HireTuneSite python manage.py runserverAccess the Application
Open your browser and visit: http://127.0.0.1:8000/The Django server will serve your React application. When you make changes to React components, webpack will automatically rebuild them, but you'll need to refresh your browser to see the changes.
-
Main branches
main: Production-ready code
-
Feature development workflow
# Start from the latest main branch git checkout main git pull origin main # Create a feature branch git checkout -b feature/your-feature-name # Make your changes, then commit git add . git commit -m "Descriptive message about your changes" # Push your branch to remote git push origin feature/your-feature-name
-
Creating a Pull Request
- Go to the GitHub repository
- Click "New Pull Request"
- Select
mainas the base branch and your feature branch as the compare branch - Add a descriptive title and description
- Request reviews from team members
-
Creating Issues
- Use clear, descriptive titles
- Include detailed description, steps to reproduce (for bugs)
- Add appropriate labels (bug, enhancement, etc.)
- Assign to team members when appropriate
-
Working with Issues
- Reference issue numbers in commit messages and pull requests using # (e.g., "Fix #42")
- When creating a branch to address an issue, include the issue number in the branch name (e.g.,
feature/42-user-authentication)
-
Creating new apps
python manage.py startapp HireTune
-
Running migrations
python manage.py makemigrations python manage.py migrate
-
Running tests
python manage.py test
HireTuneSite/: Main Django project foldermanage.py: Django management scriptHireTuneSite/: Project configuration foldersettings.py: Project settingsurls.py: URL routingwsgi.py&asgi.py: Deployment interfaces