diff --git a/.gitignore b/.gitignore index 07bbe35..ad8361f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,416 @@ -__pycache__ *.sqlite3 media/ *.csv .env +frontend/src/scss/fonts/*.ttf + +# gitignore compiled by script + +Global/macOS, Global/VisualStudioCode, Node, Python + +## Add your own excludes here ################################################# +############################################################################### + +############################################################################### +## Global/macOS ############################################################### +## https://github.com/github/gitignore/Global/macOS.gitignore ################# +############################################################################### + +# General +.DS_Store +.AppleDouble +.LSOverride +Icon[ +] + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +############################################################################### +## Global/VisualStudioCode #################################################### +## https://github.com/github/gitignore/Global/VisualStudioCode.gitignore ###### +############################################################################### + +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +!.vscode/*.code-snippets +!*.code-workspace + +# Built Visual Studio Code Extensions +*.vsix + +############################################################################### +## Node ####################################################################### +## https://github.com/github/gitignore/Node.gitignore ######################### +############################################################################### + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env +.env.* +!.env.example + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp +.cache + +# Sveltekit cache directory +.svelte-kit/ + +# vitepress build output +**/.vitepress/dist + +# vitepress cache directory +**/.vitepress/cache + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# Firebase cache directory +.firebase/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v3 +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions + +# Vite logs files +vite.config.js.timestamp-* +vite.config.ts.timestamp-* + +############################################################################### +## Python ##################################################################### +## https://github.com/github/gitignore/Python.gitignore ####################### +############################################################################### + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[codz] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py.cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# UV +# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +#uv.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock +#poetry.toml + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +# pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python. +# https://pdm-project.org/en/latest/usage/project/#working-with-version-control +#pdm.lock +#pdm.toml +.pdm-python +.pdm-build/ + +# pixi +# Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control. +#pixi.lock +# Pixi creates a virtual environment in the .pixi directory, just like venv module creates one +# in the .venv directory. It is recommended not to include this directory in version control. +.pixi + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.envrc +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +# Abstra +# Abstra is an AI-powered process automation framework. +# Ignore directories containing user credentials, local state, and settings. +# Learn more at https://abstra.io/docs +.abstra/ + +# Visual Studio Code +# Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore +# that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore +# and can be added to the global gitignore or merged into this file. However, if you prefer, +# you could uncomment the following to ignore the entire vscode folder +# .vscode/ + +# Ruff stuff: +.ruff_cache/ + +# PyPI configuration file +.pypirc + +# Marimo +marimo/_static/ +marimo/_lsp/ +__marimo__/ + +# Streamlit +.streamlit/secrets.toml + +############################################################################### + diff --git a/boxofficefantasy.code-workspace b/boxofficefantasy.code-workspace index a7b9f89..50d85f7 100644 --- a/boxofficefantasy.code-workspace +++ b/boxofficefantasy.code-workspace @@ -17,6 +17,16 @@ "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", @@ -36,11 +46,13 @@ "console": "integratedTerminal" } ], - "compounds":[{ + "compounds": [ + { "name": "Django + Chrome", "configurations": ["Run Django Server", "Launch Chrome"], "type": "compound" - }] + } + ] }, "tasks": { "version": "2.0.0", @@ -112,11 +124,12 @@ "other": true, "comments": true, "strings": true - } + }, }, "files.associations": { "*.dj.html": "django-html" }, + "html.autoClosingTags": true, "emmet.includeLanguages": { "django-html": "html" } diff --git a/boxofficefantasy/context_processors.py b/boxofficefantasy/context_processors.py new file mode 100644 index 0000000..2493254 --- /dev/null +++ b/boxofficefantasy/context_processors.py @@ -0,0 +1,4 @@ +from django.conf import settings + +def debug_flag(request): + return {'DEBUG': settings.DEBUG} \ No newline at end of file diff --git a/boxofficefantasy/static/boxofficefantasy/logo.svg b/boxofficefantasy/static/boxofficefantasy/logo.svg new file mode 100644 index 0000000..59ae46e --- /dev/null +++ b/boxofficefantasy/static/boxofficefantasy/logo.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/boxofficefantasy/templates/base.dj.html b/boxofficefantasy/templates/base.dj.html index 4ab1047..ba57089 100644 --- a/boxofficefantasy/templates/base.dj.html +++ b/boxofficefantasy/templates/base.dj.html @@ -1,34 +1,55 @@ +{% load static %} {% block title %}My Site{% endblock %} - - + {% if DEBUG %} + + {% else %} + + {% endif %} -
-
My Site Header
-
+ +
- {% block content %} + {% block breadcrumbs%} + + {% endblock%} {% block content %} {% endblock %}
diff --git a/boxofficefantasy/templates/league.dj.html b/boxofficefantasy/templates/league.dj.html new file mode 100644 index 0000000..8030d13 --- /dev/null +++ b/boxofficefantasy/templates/league.dj.html @@ -0,0 +1,66 @@ +{% extends "base.dj.html" %}{% load humanize %} {% block content%} +

{{season.league.name}}

+
+ + +
+
+
    + {% for season in seasons %} +
  1. + + {{ season.league.name }} – {{ season.label }} {{ season.year }} + +
    Winner: {{ season.winner_team }} ${{season.winner_score | floatformat:0 | intcomma}} +
    Top Movie: {{season.top_movie}} {{season.top_gross| floatformat:0 | intcomma}} +
  2. + {% endfor %} +
+
+
Winners
+
players
+
movies
+
+
+{% endblock%} diff --git a/boxofficefantasy/templates/leagues.dj.html b/boxofficefantasy/templates/leagues.dj.html new file mode 100644 index 0000000..3425488 --- /dev/null +++ b/boxofficefantasy/templates/leagues.dj.html @@ -0,0 +1,10 @@ +{% extends "base.dj.html" %}{% load humanize %} {% block content%} +

Leagues

+
+ +
+{% endblock%} diff --git a/boxofficefantasy/templates/season.dj.html b/boxofficefantasy/templates/season.dj.html new file mode 100644 index 0000000..0e86635 --- /dev/null +++ b/boxofficefantasy/templates/season.dj.html @@ -0,0 +1,89 @@ +{% extends "base.dj.html" %}{% load humanize %} +{%block content %} +

{{season.league.name}} - {{season.label}} {{season.year}}

+
+ + +
+
+ + + + + + + {% for entry in scoreboard%} + + + + + + {%endfor%} +
TeamOwnerTotal
{{entry.team}}{{entry.user}}${{entry.total|floatformat:0|intcomma }}
+
+
+ {% for entry in scoreboard %} +

{{ entry.team }} ({{ entry.user }})

+
    + {% for pick in entry.picks %} +
  • + {{ pick.movie.title }} – ${{ pick.score|floatformat:0|intcomma }} (Bid: + ${{pick.bid | floatformat:0}}M) + +
  • + {% endfor %} +
+{% endfor %} +
+
+ + + + + + + + + + {% for pick in picks %} + + + + + + + + {%endfor%} + + +
TitleTeamUserGrossBid
{{pick.movie.title}}{{pick.season_entry.team_name}}{{pick.season_entry.user.username}}${{pick.domestic_gross | floatformat:0 |intcomma}}${{pick.bid_amount | floatformat:0}}M
+
+
+ Draft +
+
+
+ + +{%endblock%} \ No newline at end of file diff --git a/boxofficefantasy/templates/seasons.dj.html b/boxofficefantasy/templates/seasons.dj.html index a713b3a..5dfc0b6 100644 --- a/boxofficefantasy/templates/seasons.dj.html +++ b/boxofficefantasy/templates/seasons.dj.html @@ -5,7 +5,7 @@