{ "folders": [ { "path": "." } ], "launch": { "version": "0.2.0", "configurations": [ { "name": "Run Django Server", "type": "debugpy", "request": "launch", "program": "${workspaceFolder}/manage.py", "args": ["runserver"], "django": true, "console": "integratedTerminal", "envFile": "${workspaceFolder}/.env" }, { "name": "Run Uvicorn Django Server", "type": "debugpy", "request": "launch", "module": "uvicorn", "args": ["boxofficefantasy_project.asgi:application", "--reload",], "django": true, "console": "integratedTerminal", "envFile": "${workspaceFolder}/.env" }, { "name": "Start Webpack Dev Server", "type": "node", "request": "launch", "program": "npm", "args": [ "run", "dev", "--config", "${workspaceFolder}/frontend/webpack.config.js" ], "cwd": "${workspaceFolder}/frontend", "console": "integratedTerminal", "internalConsoleOptions": "neverOpen" }, { "name": "Launch Chrome", "type": "chrome", "request": "launch", "url": "http://localhost:3000", // adjust based on your local server "webRoot": "${workspaceFolder}", "sourceMaps": true, "trace": true }, { "name": "Debug: Import 2014-2019.csv", "type": "debugpy", "request": "launch", "program": "${workspaceFolder}/manage.py", "args": ["import_legacy", "./data/2014-2019.csv"], "django": true, "console": "integratedTerminal" } ], "compounds": [ { "name": "Django + Chrome", "configurations": ["Run Django Server", "Launch Chrome"], "type": "compound" } ] }, "tasks": { "version": "2.0.0", "tasks": [ { "label": "Start Redis", "type": "process", "command": "docker", "args": [ "run", "--rm", "--name", "redis-boxofficefantasy-dev", "-p", "6379:6379", "redis" ], "isBackground": true, "problemMatcher": [], "group": { "kind": "build", "isDefault": false } }, { "label": "🗑️ Delete all Movies", "type": "shell", "command": "${config:python.defaultInterpreterPath}", "args": [ "manage.py", "shell", "-c", "from boxofficefantasy.models import Movie; Movie.objects.all().delete()" ], "group": "build", "problemMatcher": [] }, { "label": "Import 2014-2019.csv", "type": "shell", "command": "${config:python.defaultInterpreterPath}", "args": ["manage.py", "import_legacy", "./data/2014-2019.csv"], "problemMatcher": [] }, { "label": "📦 Make Migrations", "type": "shell", "command": "${config:python.defaultInterpreterPath}", "args": ["manage.py", "makemigrations"], "group": "build", "problemMatcher": [] }, { "label": "🔄 Apply Migrations", "type": "shell", "command": "${config:python.defaultInterpreterPath}", "args": ["manage.py", "migrate"], "group": "build", "problemMatcher": [] }, { "label": "Import ", "type": "shell", "command": "${config:python.defaultInterpreterPath}", "args": ["manage.py", "migrate"], "group": "build", "problemMatcher": [] }, { "label": "📦 🔄 Make & Apply Migratations", "dependsOn": ["📦 Make Migrations", "🔄 Apply Migrations"], "dependsOrder": "sequence", "problemMatcher": [], "group": { "kind": "build", "isDefault": true } } ] }, "settings": { "python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python", "[python]": { "editor.defaultFormatter": "ms-python.black-formatter" }, "[django-html]": { "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.quickSuggestions": { "other": true, "comments": true, "strings": true } }, "files.exclude": { "**/__pycache__":true, ".venv":true }, "files.associations": { "*.dj.html": "django-html" }, "html.autoClosingTags": true, "emmet.includeLanguages": { "django-html": "html" } } }