Commit b4daba1a authored by Administrator's avatar Administrator

introduction screen

parent bf546688
......@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'edit_athlete_screen.dart';
import 'package:encrateia/models/athlete.dart';
import 'indroduction_screen.dart';
import 'show_athlete_screen.dart';
import 'package:encrateia/utils/icon_utils.dart';
......@@ -38,17 +39,26 @@ class _DashboardState extends State<Dashboard> {
mainAxisSize: MainAxisSize.min,
children: <Widget>[
leading: MyIcon.information,
title: Text('Welcome to Encrateia!'),
subtitle: Text(
'Maybe you want to learn more about Encrateia.'
'We have provided some introductory help for you.'),
'Maybe you want to learn a bit about Encrateia.'
'We have provided some introductory text for you.',
children: <Widget>[
child: const Text('HELP'),
onPressed: () {},
child: const Text('Introduction'),
onPressed: () {
builder: (context) =>
import 'package:flutter/material.dart';
class IntroductionScreen extends StatelessWidget {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("Introduction")),
body: SingleChildScrollView(
child: Card(
margin: EdgeInsets.all(10),
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Text('''
Encrateia is an mobile application that wants to help you analyse your activity tracking data. In particular Encrateia analyzes .fit-Files that are created by many fitness trackers by default.
Encrateia is quite a sophisticated peace of information with 20+ charts, and 10+ reports, so we thought, we'd share the rationale behind Encrateia and what it actually does:
A lot of runners and cyclists upload their activity data to Strava, to be able to share and analyse and because storage capacity on tracking devices is limited. Old tracking data is typically deleted without asking the user for consent.
We want to provide a possibility for you to get all your fitness data back and because you already own a smart phone and tablet we went the route to create this app.
Encrateia helps you download your original tracking data - the .fit-files from Strava, also for activities, that are no longer on your tracker.
To get your data, we fetch information about your actitvities via the Strava API. You have to authorize the Encrateia app to do so. As the .fit-files can only be downloaded from the web site (and not via the API) you have to provide your Strava credentials a second time.
Then you can use the [Download from Strava]-Button on the Athlete Screen to download the latest of your actitvties. They are stored on your device (and you could create a backup manually, if you like).
Then tha .fit-files are parsed and the data is stored in a local SQLite database on the device. This takes quite some time, parsing is quick, but storing is 20 to 30 seconds per activtity.
That makes later analysis a lot quicker and it has only to be done once.
No data is leaving your device, neither to the developer of Encrateia, nor to any third party service. We believe, your activity data should be stricty yours.
Encrateia is, while not for free, an open source application. The source code can be retrieved from GitHub at:
The .fit-file parser is a seperate library, you can find it at:
If you have any questions regarding Encrateia, feel free to write an email to the main developer Stefan Haslinger using <>
But now: Have fun analyzing your data and always keep running, cycling or whatever your favourite sports are!
......@@ -27,7 +27,8 @@ class MyIcon {
static final event = Icon(Icons.event);
// F
static final finished = Icon(Icons.check_box);
static final finishedWhite = Icon(Icons.sentiment_very_satisfied, color: Colors.white);
static final finishedWhite =
Icon(Icons.sentiment_very_satisfied, color: Colors.white);
static final formPower = Icon(Icons.ev_station);
// G
static final groundTime = Icon(Icons.vertical_align_bottom);
......@@ -36,6 +37,10 @@ class MyIcon {
static final help = Icon(;
// I
static final id = Icon(Icons.fingerprint);
static final information = Icon(
static final intensity = Icon(Icons.power);
// L
static final laps = Icon(Icons.timer);
......@@ -63,7 +68,8 @@ class MyIcon {
static final stanceTime = cadence;
static final standardDeviation = Icon(Icons.unfold_more);
static final stravaDownload = Icon(Icons.cloud_download);
static final stravaDownloadWhite = Icon(Icons.cloud_download, color: Colors.white);
static final stravaDownloadWhite =
Icon(Icons.cloud_download, color: Colors.white);
static final strides = Icon(Icons.directions_walk);
// T
static final temperature = Icon(Icons.ac_unit);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment