diff --git a/grandnational-dashboard/.gitignore b/grandnational-dashboard/.gitignore index 279a436..52b89ef 100644 --- a/grandnational-dashboard/.gitignore +++ b/grandnational-dashboard/.gitignore @@ -138,3 +138,4 @@ dmypy.json *node_modules *font-awesome *.mp4 +*docker-image diff --git a/grandnational-dashboard/Dockerfile b/grandnational-dashboard/Dockerfile new file mode 100644 index 0000000..72cfe71 --- /dev/null +++ b/grandnational-dashboard/Dockerfile @@ -0,0 +1,8 @@ +FROM tiangolo/uvicorn-gunicorn-fastapi:python3.7 + +RUN ["pip", "install", "aiofiles", "jinja2" ] + +COPY ./app /app +COPY ./node_modules /node_modules +COPY ./bower_components /bower_components +COPY ./static /static diff --git a/grandnational-dashboard/app/.DS_Store b/grandnational-dashboard/app/.DS_Store new file mode 100644 index 0000000..c469b00 Binary files /dev/null and b/grandnational-dashboard/app/.DS_Store differ diff --git a/grandnational-dashboard/app/__init__.py b/grandnational-dashboard/app/__init__.py new file mode 100644 index 0000000..b794fd4 --- /dev/null +++ b/grandnational-dashboard/app/__init__.py @@ -0,0 +1 @@ +__version__ = '0.1.0' diff --git a/grandnational-dashboard/app/main.py b/grandnational-dashboard/app/main.py new file mode 100644 index 0000000..7eb60e8 --- /dev/null +++ b/grandnational-dashboard/app/main.py @@ -0,0 +1,32 @@ +from starlette.applications import Starlette +from starlette.templating import Jinja2Templates +from starlette.routing import Route, Mount +from starlette.staticfiles import StaticFiles + + +templates = Jinja2Templates(directory='templates') + + +async def home(request): + return templates.TemplateResponse( + 'index.html', + {'request': request}, + ) + + +routes = [ + Route('/', endpoint=home), + Mount('/static', StaticFiles(directory='../static'), name='static'), + Mount( + '/node_modules', + StaticFiles(directory='../node_modules'), + name='node_modules', + ), + Mount( + '/bower_components', + StaticFiles(directory='../bower_components'), + name='bower_components', + ), +] + +app = Starlette(debug=True, routes=routes) diff --git a/grandnational-dashboard/app/templates/index.html b/grandnational-dashboard/app/templates/index.html new file mode 100644 index 0000000..3201dd4 --- /dev/null +++ b/grandnational-dashboard/app/templates/index.html @@ -0,0 +1,102 @@ + + + + + Capacity Dashboard + + + + + + + + {# #} + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+
+
+ +
+
+

Grand National 2020

+ +
+
+

Cheltenham 2020

+ +
+
+
+
+
+
+
+
+
+
+

Cheltenham Festival 2020

+
+

Day One 🐴 Tuesday 10th March

+
Featuring the Unibet Champion Hurdle
+
+

Day Two 🐴 Wednesday 11th March

+
Featuring the Betway Queen Mother Champion Chase
+
+

Day Three 🐴 Thursday 12th March

+
Featuring the Ryanair Chase
+
+

Gold Cup Day 🏆 Friday 13th March

+
Featuring the Magners Cheltenham Gold Cup
+
+
+

Grand National 2020

+
+

Liverpool's Day 🐴 Thursday 2nd April

+
Featuring the Betway Aintree Hurdle
+
+

Ladies Day at Aintree 🐴 Friday 3rd April

+
Featuring the JLT Melling Steeple
+
+

Grand National Day 🏆 Saturday 4th April

+
Featuring the Randox Health Grand National Steeple Chase
+
+

1st Favourite: Tiger Roll 🇮🇪

+
2nd Favourite: Burrows Saint 🇫🇷
+
+
+
+
+ + + + diff --git a/grandnational-dashboard/dashboard.Dockerfile b/grandnational-dashboard/dashboard.Dockerfile new file mode 100644 index 0000000..72cfe71 --- /dev/null +++ b/grandnational-dashboard/dashboard.Dockerfile @@ -0,0 +1,8 @@ +FROM tiangolo/uvicorn-gunicorn-fastapi:python3.7 + +RUN ["pip", "install", "aiofiles", "jinja2" ] + +COPY ./app /app +COPY ./node_modules /node_modules +COPY ./bower_components /bower_components +COPY ./static /static diff --git a/grandnational-dashboard/grandnational_dashboard/templates/index.html b/grandnational-dashboard/grandnational_dashboard/templates/index.html index c3fb0b7..3201dd4 100644 --- a/grandnational-dashboard/grandnational_dashboard/templates/index.html +++ b/grandnational-dashboard/grandnational_dashboard/templates/index.html @@ -25,7 +25,7 @@ - + @@ -70,28 +70,28 @@
Featuring the Unibet Champion Hurdle

Day Two 🐴 Wednesday 11th March

-
Featuring The Betway Queen Mother Champion Chase
+
Featuring the Betway Queen Mother Champion Chase

Day Three 🐴 Thursday 12th March

-
Featuring The Ryanair Chase
+
Featuring the Ryanair Chase

-

Gold Cup Day 🏆 - Friday 13th March

-
Featuring The Magners Cheltenham Gold Cup
+

Gold Cup Day 🏆 Friday 13th March

+
Featuring the Magners Cheltenham Gold Cup

Grand National 2020


Liverpool's Day 🐴 Thursday 2nd April

-
Featuring The Betway Aintree Hurdle
+
Featuring the Betway Aintree Hurdle

Ladies Day at Aintree 🐴 Friday 3rd April

-
Featuring The JLT Melling Steeple
+
Featuring the JLT Melling Steeple

-

Grand National Day 🏆 - Saturday 4th April

-
Featuring The Randox Health Grand National Steeple Chase
+

Grand National Day 🏆 Saturday 4th April

+
Featuring the Randox Health Grand National Steeple Chase

1st Favourite: Tiger Roll 🇮🇪

-

2nd Favourite: Burrows Saint 🇫🇷

+
2nd Favourite: Burrows Saint 🇫🇷
diff --git a/grandnational-dashboard/package-lock.json b/grandnational-dashboard/package-lock.json index 78b01d4..9ea05d3 100644 --- a/grandnational-dashboard/package-lock.json +++ b/grandnational-dashboard/package-lock.json @@ -4,6 +4,11 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@fortawesome/fontawesome-free": { + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.12.1.tgz", + "integrity": "sha512-ZtjIIFplxncqxvogq148C3hBLQE+W3iJ8E4UvJ09zIJUgzwLcROsWwFDErVSXY2Plzao5J9KUYNHKHMEUYDMKw==" + }, "bootswatch": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/bootswatch/-/bootswatch-4.4.1.tgz", diff --git a/grandnational-dashboard/package.json b/grandnational-dashboard/package.json index c66b36c..9db6aa8 100644 --- a/grandnational-dashboard/package.json +++ b/grandnational-dashboard/package.json @@ -13,6 +13,7 @@ "author": "", "license": "ISC", "dependencies": { + "@fortawesome/fontawesome-free": "^5.12.1", "bootswatch": "^4.4.1", "jq-fakeloader": "^2.0.1" } diff --git a/grandnational-dashboard/requirements.txt b/grandnational-dashboard/requirements.txt new file mode 100644 index 0000000..d4fb00c --- /dev/null +++ b/grandnational-dashboard/requirements.txt @@ -0,0 +1,17 @@ +aiofiles==0.4.0 +certifi==2019.11.28 +chardet==3.0.4 +click==7.0 +fastapi==0.49.0 +h11==0.9.0 +httptools==0.1.1; sys_platform != "win32" and sys_platform != "cygwin" and platform_python_implementation != "PyPy" +idna==2.8 +jinja2==2.11.1 +markupsafe==1.1.1 +pydantic==1.4 +requests==2.22.0 +starlette==0.12.9 +urllib3==1.25.8 +uvicorn==0.11.3 +uvloop==0.14.0; sys_platform != "win32" and sys_platform != "cygwin" and platform_python_implementation != "PyPy" +websockets==8.1 diff --git a/grandnational-dashboard/static/js/gn.js b/grandnational-dashboard/static/js/gn.js index cd976d5..be6f861 100644 --- a/grandnational-dashboard/static/js/gn.js +++ b/grandnational-dashboard/static/js/gn.js @@ -1,8 +1,8 @@ -$('#gn-countdown').countdown('2020/04/04', function(event) { +$('#gn-countdown').countdown('2020/04/04 17:15', function(event) { $(this).html(event.strftime('%D days %Hhrs %Mm %Ss')); }); -$('#chelt-countdown').countdown('2020/03/13', function(event) { +$('#chelt-countdown').countdown('2020/03/13 15:30', function(event) { $(this).html(event.strftime('%D days %Hhrs %Mm %Ss')); }); @@ -12,7 +12,7 @@ $("#event-rotate").Morphist({ // The exit animation type (Out). Refer to Animate.css for a list of available animations. animateOut: "zoomOutRight", // The delay between the changing of each object in milliseconds. - speed: 4000, + speed: 5000, complete: function () { // Called after the entrance animation is executed. }