mirror of
https://github.com/kjanat/livegraphs-django.git
synced 2026-01-16 13:12:10 +01:00
Adds Dependabot for automatic dependency updates to keep the vessel sea-worthy and updates pre-commit hooks. Integrates Bandit and Codacy for automated security scans, ensuring a well-defended treasure hold. Updates devcontainer settings for smoother sailing in the development environment. Now use foreman for development, to be able to run all processes in development. Let's keep this ship safe and sound, savvy?
125 lines
3.3 KiB
Makefile
125 lines
3.3 KiB
Makefile
.PHONY: venv install install-dev lint test format clean run migrate makemigrations superuser setup-node celery celery-beat docker-build docker-up docker-down reset-db setup-dev procfile
|
|
|
|
# Create a virtual environment
|
|
venv:
|
|
uv venv -p 3.13
|
|
|
|
# Install production dependencies
|
|
install:
|
|
uv pip install -e .
|
|
|
|
# Install development dependencies
|
|
install-dev:
|
|
uv pip install -e ".[dev]"
|
|
|
|
# Run linting
|
|
lint:
|
|
uv run -m ruff check dashboard_project
|
|
|
|
# Run tests
|
|
test:
|
|
uv run -m pytest
|
|
|
|
# Format Python code
|
|
format:
|
|
uv run -m ruff format dashboard_project
|
|
uv run -m black dashboard_project
|
|
|
|
# Setup Node.js dependencies
|
|
setup-node:
|
|
npm install --include=dev
|
|
|
|
# Clean Python cache files
|
|
clean:
|
|
find . -type d -name "__pycache__" -exec rm -rf {} +
|
|
find . -type f -name "*.pyc" -delete
|
|
find . -type f -name "*.pyo" -delete
|
|
find . -type f -name "*.pyd" -delete
|
|
find . -type d -name "*.egg-info" -exec rm -rf {} +
|
|
find . -type d -name "*.egg" -exec rm -rf {} +
|
|
find . -type d -name ".pytest_cache" -exec rm -rf {} +
|
|
find . -type d -name ".coverage" -exec rm -rf {} +
|
|
find . -type d -name "htmlcov" -exec rm -rf {} +
|
|
find . -type d -name ".ruff_cache" -exec rm -rf {} +
|
|
find . -type d -name ".mypy_cache" -exec rm -rf {} +
|
|
find . -type d -name ".tox" -exec rm -rf {} +
|
|
find . -type d -name "node_modules" -exec rm -rf {} +
|
|
rm -rf build/
|
|
rm -rf dist/
|
|
|
|
# Run the development server
|
|
run:
|
|
cd dashboard_project && uv run python manage.py runserver 8001
|
|
|
|
# Run Celery worker for background tasks
|
|
celery:
|
|
cd dashboard_project && uv run celery -A dashboard_project worker --loglevel=info
|
|
|
|
# Run Celery Beat for scheduled tasks
|
|
celery-beat:
|
|
cd dashboard_project && uv run celery -A dashboard_project beat --scheduler django_celery_beat.schedulers:DatabaseScheduler
|
|
|
|
# Apply migrations
|
|
migrate:
|
|
cd dashboard_project && uv run python manage.py migrate
|
|
|
|
# Create migrations
|
|
makemigrations:
|
|
cd dashboard_project && uv run python manage.py makemigrations
|
|
|
|
# Create a superuser
|
|
superuser:
|
|
cd dashboard_project && uv run python manage.py createsuperuser
|
|
|
|
# Update uv lock file
|
|
lock:
|
|
uv pip freeze > requirements.lock
|
|
|
|
# Setup pre-commit hooks
|
|
setup-pre-commit:
|
|
pre-commit install
|
|
|
|
# Run pre-commit on all files
|
|
lint-all:
|
|
pre-commit run --all-files
|
|
|
|
# Docker commands
|
|
docker-build:
|
|
docker-compose build
|
|
|
|
docker-up:
|
|
docker-compose up -d
|
|
|
|
docker-down:
|
|
docker-compose down
|
|
|
|
# Initialize or reset the database in development
|
|
reset-db:
|
|
cd dashboard_project && uv run python manage.py flush --no-input
|
|
cd dashboard_project && uv run python manage.py migrate
|
|
|
|
# Start a Redis server in development (if not installed, fallback to SQLite)
|
|
run-redis:
|
|
redis-server || echo "Redis not installed, using SQLite fallback"
|
|
|
|
# Start all development services (web, redis, celery, celery-beat)
|
|
run-all:
|
|
foreman start
|
|
|
|
procfile:
|
|
foreman start
|
|
|
|
# Test Celery task
|
|
test-celery:
|
|
cd dashboard_project && uv run python manage.py test_celery
|
|
|
|
# Initialize data integration
|
|
init-data-integration:
|
|
cd dashboard_project && uv run python manage.py create_default_datasource
|
|
cd dashboard_project && uv run python manage.py create_default_datasource
|
|
cd dashboard_project && uv run python manage.py test_celery
|
|
|
|
# Setup development environment
|
|
setup-dev: venv install-dev migrate create_default_datasource
|
|
@echo "Development environment setup complete"
|