Add configuration and scripts for linting, testing, and dependency management

- Introduced .pre-commit-config.yaml for pre-commit hooks using uv-pre-commit.
- Created lint.sh script to run Ruff and Black for linting and formatting.
- Added test.sh script to execute tests with coverage reporting.
- Configured .uv file for uv settings including lockfile management and dependency resolution.
- Updated Makefile with targets for virtual environment setup, dependency installation, linting, testing, formatting, and database migrations.
- Established requirements.txt with main and development dependencies for the project.
This commit is contained in:
2025-05-17 20:18:21 +02:00
parent d916ae2247
commit 6b19cbcb51
48 changed files with 4733 additions and 3362 deletions

View File

@ -10,15 +10,25 @@ ENV DJANGO_SETTINGS_MODULE=dashboard_project.settings
# Set work directory
WORKDIR /app
# Install UV for Python package management
RUN pip install uv
# Copy project files
COPY pyproject.toml .
COPY uv.lock .
COPY . .
# Install dependencies
COPY requirements.txt .
RUN uv pip install -e .
# Copy project
COPY . .
# Change to the Django project directory
WORKDIR /app/dashboard_project
# Collect static files
RUN python manage.py collectstatic --noinput
# Change back to the app directory
WORKDIR /app
# Run gunicorn
CMD ["gunicorn", "dashboard_project.wsgi:application", "--bind", "0.0.0.0:8000"]