Private
Public Access
1
0

analysis page

This commit is contained in:
Sander Roosendaal
2018-10-11 14:09:33 +02:00
parent a8f44e653b
commit 7ca13d9f70
16 changed files with 163 additions and 149 deletions

View File

@@ -1,171 +1,154 @@
{% extends "base.html" %} {% extends "newbase.html" %}
{% load staticfiles %} {% load staticfiles %}
{% load rowerfilters %} {% load rowerfilters %}
{% block title %}Rowsandall - Analysis {% endblock %} {% block title %}Rowsandall - Analysis {% endblock %}
{% block content %} {% block main %}
<h1>Analysis</h1> <h1>Analysis</h1>
<p>Functionality to analyze multiple workouts.</p> <p>Functionality to analyze multiple workouts.</p>
<div class="grid_12 alpha"> <ul class="main-content">
<div class="grid_6 alpha"> <li class="rounder">
<h2>Basic</h2> <h2>Ranking Pieces</h2>
<div class="grid_2 alpha"> <a href="/rowers/ote-bests2">
<p> <div class="vignet">
<a class="button blue small" href="/rowers/ote-bests">Ranking Pieces</a></p> <img src="/static/img/rankingpiece.png"
<p>Analyze your Concept2 ranking pieces over a date range and predict your pace on other pieces.</p> alt="Ranking Piece">
</div> </div>
<div class="grid_2"> </a>
<p>
<a class="button blue small" href="/rowers/flexall">Stroke Analysis</a>
</p>
<p>
Plot all strokes in a date range and analyze several parameters (Power, Pace, SPM, Heart Rate).
</p>
</div>
<div class="grid_2 omega">
<p class="button white small">
Analysis Feature 3
</p>
<p>
Reserved for future functionality.
</p>
</div>
</div>
<div class="grid_6 omega">
<h2>Pro</h2>
<div class="grid_2 alpha">
<p> <p>
{% if user|is_promember %} Analyze your Concept2 ranking pieces over a date range and predict your pace on other pieces.
<a class="button blue small" href="/rowers/histo">Power Histogram</a>
{% else %}
<a class="button blue small" href="/rowers/promembership">Power Histogram</a>
{% endif %}
</p> </p>
</li>
<li class="rounder">
<h2>Stroke Analysis</h2>
<a href="/rowers/flexall">
<div class="vignet">
<img src="/static/img/strokeanalysis.png"
alt="Stroke Analysis">
</div>
</a>
<p>
Plot all strokes in a date range and analyze several parameters (Power, Pace, SPM, Heart Rate).
</p>
</li>
<li class="rounder">
<h2>Power Histogram</h2>
{% if user|is_promember %}
<a href="/rowers/histo">
{% else %}
<a href="/rowers/promembership">
{% endif %}
<div class="vignet">
<img src="/static/img/histogram.png" alt="Power Histogram">
</div>
</a>
<p> <p>
Plot a power histogram of all your strokes over a date range. Plot a power histogram of all your strokes over a date range.
</p> </p>
</div> </li>
<div class="grid_2"> <li class="rounder">
<p> <h2>Statistics</h2>
{% if user|is_promember %} {% if user|is_promember %}
<a class="button blue small" href="/rowers/cumstats">Statistics</a> <a href="/rowers/cumstats">
{% else %} {% else %}
<a class="button blue small" href="/rowers/promembership">Statistics</a> <a href="/rowers/promembership">
{% endif %} {% endif %}
</p> <div class="vignet">
<img src="/static/img/statistics.PNG" alt="Statistics">
</div>
</a>
<p> <p>
BETA: Statistics of stroke metrics over a date range Statistics of stroke metrics over a date range
</p>
</div>
<div class="grid_2 omega">
<p>
{% if user|is_promember %}
<a class="button blue small" href="/rowers/user-boxplot-select">Box Chart</a>
{% else %}
<a class="button blue small" href="/rowers/promembership">Box Chart</a>
{% endif %}
</p> </p>
</li>
<li class="rounder">
<h2>Box Chart</h2>
{% if user|is_promember %}
<a href="/rowers/user-boxplot-select">
{% else %}
<a href="/rowers/promembership">
{% endif %}
<div class="vignet">
<img src="/static/img/boxplot.png" alt="Box Chart">
</div>
</a>
<p> <p>
BETA: Box Chart Statistics of stroke metrics over a date range BETA: Box Chart Statistics of stroke metrics over a date range
</p> </p>
</div> </li>
</div> <li class="rounder">
<h2>OTW Critical Power</h2>
{% if user|is_promember %}
<a href="/rowers/otw-bests">
{% else %}
<a href="/rowers/promembership">
{% endif %}
<div class="vignet">
<img src="/static/img/otwcp.png" alt="OTW Critical Power">
</div>
</a>
<p>
Analyse power vs piece duration to make predictions. For On-The-Water rowing.
</p>
</li>
<li class="rounder">
<h2>OTE Critical Power</h2>
{% if user|is_promember %}
<a href="/rowers/ote-ranking">
{% else %}
<a href="/rowers/promembership">
{% endif %}
<div class="vignet">
<img src="/static/img/otecp.png" alt="OTE Critical Power">
</div>
</a>
<div class="grid_12 alpha"> <p>
<div class="grid_6 alpha"> Analyse power vs piece duration to make predictions, for erg pieces.
<div class="grid_2 suffix_4 alpha"> </p>
<p> </li>
<a class="button blue small" href="/rowers/ote-bests2"> <li class="rounder">
Ranking Pieces 2.0</a></p> <h2>Trend Flex</h2>
<p>Analyze your Concept2 ranking pieces over a date range and predict your pace on other pieces.</p> {% if user|is_promember %}
</div> <a href="/rowers/user-multiflex-select">
</div> {% else %}
<a href="/rowers/promembership">
{% endif %}
<div class="vignet">
<img src="/static/img/trendflex.png" alt="Trend Flex">
</div>
</a>
<div class="grid_6 omega"> <p>
<div class="grid_2 alpha"> Select workouts and make X-Y charts of averages over various metrics
<p> </p>
{% if user|is_promember %} </li>
<a class="button blue small" href="/rowers/otw-bests">OTW Critical Power</a> <li class="rounder">
{% else %} <h1>Power Progress</h1>
<a class="button blue small" href="/rowers/promembership">OTW Critical Power</a> {% if user|is_planmember %}
{% endif %} <a href="/rowers/fitness-progress">
</p> {% else %}
<p> <a href="/rowers/promembership">
Analyse power vs piece duration to make predictions. For On-The-Water rowing. {% endif %}
</p> <div class="vignet">
</div> <img src="/static/img/powerprogress.png" alt="Power Progress">
<div class="grid_2"> </div>
<p> </a>
{% if user|is_promember %} <p>
<a class="button blue small" href="/rowers/team-compare-select/team/0/">Multi Compare</a> Monitoring power duration evidence from all your workouts. Feel free to explore.
{% else %} </p>
<a class="button blue small" href="/rowers/promembership">Multi Compare</a> </li>
{% endif %} </ul>
</p>
<p>
Compare many workouts
</p>
</div>
<div class="grid_2 omega">
<p>
{% if user|is_promember %}
<a class="button blue small" href="/rowers/user-multiflex-select">Trend Flex</a>
{% else %}
<a class="button blue small" href="/rowers/promembership">Trend Flex</a>
{% endif %}
</p>
<p>
Select workouts and make X-Y charts of averages over various metrics
</p>
</div>
</div>
<div class="grid_6 prefix_6 alpha">
<div class="grid_2 alpha">
<p>
{% if user|is_promember %}
<a class="button blue small" href="/rowers/ote-ranking">OTE Critical Power</a>
{% else %}
<a class="button blue small" href="/rowers/promembership">OTE Critical Power</a>
{% endif %}
</p>
<p>
Analyse power vs piece duration to make predictions, for erg pieces.
</p>
</div>
<div class="grid_2">
<p>
{% if user|is_planmember %}
<a class="button blue small" href="/rowers/fitness-progress">Power Progress</a>
{% else %}
<a class="button blue small" href="/rowers/promembership">Power Progress</a>
{% endif %}
</p>
<p>
Monitoring power duration evidence from all your workouts. Feel free to explore.
</p>
</div>
<div class="grid_2 omega">
<p>
{% if user|is_planmember %}
<a class="button blue small" href="/rowers/laboratory">The Labs</a>
{% else %}
<a class="button blue small" href="/rowers/promembership">The Labs</a>
{% endif %}
</p>
<p>
Undisclosed new functionality. This is still experimental and
may not make sense.
</p>
</div>
</div>
</div>
{% endblock %}
{% block sidebar %}
{% include 'menu_analytics.html' %}
{% endblock %} {% endblock %}

View File

@@ -63,7 +63,7 @@
</a> </a>
</li> </li>
<li> <li>
<a href=""> <a href="/rower/laboratory">
<i class="fas fa-flask fa-fw"></i>&nbsp;Laboratory</a> <i class="fas fa-flask fa-fw"></i>&nbsp;Laboratory</a>
</li> </li>
</ul><!-- cd-accordion-menu --> </ul><!-- cd-accordion-menu -->

View File

@@ -389,9 +389,9 @@ urlpatterns = [
url(r'^brochure$',TemplateView.as_view(template_name='brochure.html'), url(r'^brochure$',TemplateView.as_view(template_name='brochure.html'),
name='brochure'), name='brochure'),
url(r'^developers', TemplateView.as_view(template_name='developers.html'),name='about'), url(r'^developers', TemplateView.as_view(template_name='developers.html'),name='about'),
url(r'^compatibility', TemplateView.as_view(template_name='compatibility.html'),name='about'), # url(r'^compatibility', TemplateView.as_view(template_name='compatibility.html'),name='about'),
url(r'^videos', TemplateView.as_view(template_name='videos.html'),name='videos'), # url(r'^videos', TemplateView.as_view(template_name='videos.html'),name='videos'),
url(r'^analysis', TemplateView.as_view(template_name='analysis.html'),name='analysis'), url(r'^analysis', views.analysis_view,name='analysis'),
url(r'^laboratory', TemplateView.as_view(template_name='laboratory.html'),name='laboratory'), url(r'^laboratory', TemplateView.as_view(template_name='laboratory.html'),name='laboratory'),
url(r'^promembership', TemplateView.as_view(template_name='promembership.html'),name='promembership'), url(r'^promembership', TemplateView.as_view(template_name='promembership.html'),name='promembership'),
url(r'^starttrial$',views.start_trial_view), url(r'^starttrial$',views.start_trial_view),

View File

@@ -1021,6 +1021,17 @@ def rower_register_view(request):
"registration_form.html", "registration_form.html",
{'form':form,}) {'form':form,})
# Shows analysis page
def analysis_view(request):
r = getrequestrower(request)
return render(request,
"analysis.html",
{
'active':'nav-analysis',
'rower':r,
}
)
# Shows email form and sends it if submitted # Shows email form and sends it if submitted
def sendmail(request): def sendmail(request):
if request.method == 'POST': if request.method == 'POST':

View File

@@ -274,6 +274,26 @@ th.rotate > div > span {
margin: 2px; margin: 2px;
} }
.vignet {
border-radius: 50%;
display: block;
overflow: hidden;
padding: 5px;
margin: 5px;
-webkit-box-shadow: inset 0px 0px 85px rgba(0,0,0,0.4);
-moz-box-shadow: inset 0px 0px 85px rgba(0,0,0,0.4);
box-shadow: inset 0px 0px 85px rgba(0,0,0,0.4);
line-height: 0; /* ensure no space between bottom */
}
.vignet img {
position: relative;
transform: scale(1.5);
z-index: -1;
}
.button { .button {
font: 1.1em/1.5em sans-serif; font: 1.1em/1.5em sans-serif;
text-decoration: none; text-decoration: none;

BIN
static/img/boxplot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
static/img/comparison.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

BIN
static/img/histogram.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
static/img/otecp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

BIN
static/img/otwcp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

BIN
static/img/rankingpiece.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
static/img/statistics.PNG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

BIN
static/img/statistics.xcf Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

BIN
static/img/trendflex.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB