SlideShare ist ein Scribd-Unternehmen logo
Position
Temperatur
Zeit
Kadenz
Power
Gang
Trittfrequenz
Puls
proEndura
Endurance Data - made simple
Abschlusspräsentation
Web Data Management
Sein Coray & Marcel Neidinger
Was wir wollten
Trainingsplanung
Datenanalyse
Coaching
Social Features
Talk is cheap - show me …
Livedemo
Überblick
3
1
2
Ablauf
Back-End Front-End
Entwicklungsprozess
?!
Vom Import zum Feed
Upload Import Auswertung Anzeige im
Feed
„Socialize“
Analyse
Back End
3
1
2
PHP
Back End Sprache
- Großes Projekt => Objektorientierter Ansatz
- Datenbankabstraktion
Simpler DBA
AbstractModel AbstractModelFactory
Datendefiniton
User Workout Session UserFactory WorkoutFactory
erstellen
verwalten
+get()
+filter()
+delete()
+save()
Simpler DBA - Anfragebeispiel
Konventionell
<?php	
$stmt	=	$db->query("SELECT	*	FROM	User	WHERE	id=1");	
while($row	=	$stmt->fetch(PDO::FETCH_ASSOC){	
		echo	"$row['firstname']";	
}	
?>
proEndura
<?php	
$u	=	$UserFactory->get(1);	
echo	$u->getFirstname();	
?>
Simpler DBA - Anfragebeispiel
proEndura
<?php	
$qF	=	new	QueryFilter(“athleteId“,1,“=“);	
$workouts	=	$WorkoutFactory->filter(array(“filter“=>$qF));	
foreach($workouts	as	$w)	{	
$w->setComment(“Massenupdate	!“);	
$WorkoutFactory->update($w);	
}	
?>
Ebenfalls vorhanden:
- Join Filter
- Order Filter
Simpler DBA - Vorteile
- Ein Ort mit SQL
- Von der Tabellenstruktur unabhängig
- (theoretische) Unabhängigkeit von der Datenbanksoftware
- Caching
Anfrage
DBA
Cache
DB
API Storage - NoSQL
Anfrage
DBA
Cache
DB
Track Data
Cassandra
Front End
3
1
2
Bootstrap 3
Twitter’s
DB HTML ?
- Simples Templatingsystem
- Objekte aus dem DBA direkt in HTML weiterverwenden
- Simple Logiken direkt im Template
Simples Templatebeispiel
<html>	
<head>	
{%TEMPLATE->header%}	
<title>proEndura	Analysis</title>	
</head>	
<body>	
Hi	[[user.getName()]]	
{%TEMPLATE->footer%}	
</body>	
</html>
Template - Logik<html>	
<head>	
{%TEMPLATE->header%}	
<title>proEndura	Analysis</title>	
</head>	
<body>	
{{IF	!!user.isLoggedin()!!	==	true}}	
	{{FOREACH	workout,	!!workouts!!}}	
					{%TEMPLATE->feed.entry%}	
					[[Util::roundMeters(%%workout.getDistance()%%)]]	
	{{ENDFOREACH}}	
{{ENDIF}}	
</body>	
</html>
Templating
- Kein Beschränkung auf Website
- Mail, LaTeX ?
Mehrsprachigkeit
- Natives Feature der Template-Engine
[…]	
<form	class=“form-group“>	
<label>__upload-workout_name__</label><input	type=“text“	[…]		
</form>	
[…]	
[…]	
$LANG[“EN-en“]['upload-workout_name']	=	“Workout	name“;	
$LANG[“DE-de“]	…	
[…]
Dev Prozess
3
1
2
Lessons Learned
1.Continous Integration
Lessons Learned
2.Interne Dokumentation
Lessons Learned
3.Automation
Lessons Learned
4.Flexible Arbeitsaufteilung
Lessons Learned
5.Niemand liest die Specs
Danke für’s
zuhören
proEndura Inc
Bank: Banco BPI Cayman Inc.
BIC: BCYLKYKY
IBAN: KY42 31415926 27182818
Venture Capital an
Fragen ?

Weitere ähnliche Inhalte

Andere mochten auch

Data management and presentation
Data management and presentationData management and presentation
Data management and presentation
naveed279
 
Why Product Management Matters
Why Product Management MattersWhy Product Management Matters
Why Product Management Matters
Sequent Learning
 
Product Information Management (PIM)
Product Information Management (PIM)Product Information Management (PIM)
Product Information Management (PIM)
Merchantry
 
Digital products development: going behind the scene of product development -...
Digital products development: going behind the scene of product development -...Digital products development: going behind the scene of product development -...
Digital products development: going behind the scene of product development -...
OgilvyOne Worldwide
 
Building a Digital Products Portfolio for Real Business Results
Building a Digital Products Portfolio for Real Business ResultsBuilding a Digital Products Portfolio for Real Business Results
Building a Digital Products Portfolio for Real Business Results
Apigee | Google Cloud
 
WTF is a Product Roadmap?
WTF is a Product Roadmap?WTF is a Product Roadmap?
WTF is a Product Roadmap?
Fresh Tilled Soil
 
Presentation product development and R&D for digital healthcare
Presentation product development and R&D for digital healthcarePresentation product development and R&D for digital healthcare
Presentation product development and R&D for digital healthcare
Ishay Tentser
 
Successfully Managing Customer Experience Combining VoC and UX Testing
Successfully Managing Customer Experience Combining VoC and UX TestingSuccessfully Managing Customer Experience Combining VoC and UX Testing
Successfully Managing Customer Experience Combining VoC and UX Testing
UserZoom
 

Andere mochten auch (8)

Data management and presentation
Data management and presentationData management and presentation
Data management and presentation
 
Why Product Management Matters
Why Product Management MattersWhy Product Management Matters
Why Product Management Matters
 
Product Information Management (PIM)
Product Information Management (PIM)Product Information Management (PIM)
Product Information Management (PIM)
 
Digital products development: going behind the scene of product development -...
Digital products development: going behind the scene of product development -...Digital products development: going behind the scene of product development -...
Digital products development: going behind the scene of product development -...
 
Building a Digital Products Portfolio for Real Business Results
Building a Digital Products Portfolio for Real Business ResultsBuilding a Digital Products Portfolio for Real Business Results
Building a Digital Products Portfolio for Real Business Results
 
WTF is a Product Roadmap?
WTF is a Product Roadmap?WTF is a Product Roadmap?
WTF is a Product Roadmap?
 
Presentation product development and R&D for digital healthcare
Presentation product development and R&D for digital healthcarePresentation product development and R&D for digital healthcare
Presentation product development and R&D for digital healthcare
 
Successfully Managing Customer Experience Combining VoC and UX Testing
Successfully Managing Customer Experience Combining VoC and UX TestingSuccessfully Managing Customer Experience Combining VoC and UX Testing
Successfully Managing Customer Experience Combining VoC and UX Testing
 

Ähnlich wie Web Data Management Final Presentation

Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...
Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...
Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...
camunda services GmbH
 
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
Marc Müller
 
Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?
Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?
Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?
Marc Müller
 
Jakob Freund @ BPMN 2010
Jakob Freund @ BPMN 2010Jakob Freund @ BPMN 2010
Jakob Freund @ BPMN 2010bpmn2010
 
The pain of choice - Important libs for C# developers
The pain of choice - Important libs for C# developersThe pain of choice - Important libs for C# developers
The pain of choice - Important libs for C# developers
FDeitelhoff
 
Agiles Modellieren mit Domain Specific Languages
Agiles Modellieren mit Domain Specific LanguagesAgiles Modellieren mit Domain Specific Languages
Agiles Modellieren mit Domain Specific LanguagesDominik Hirt
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 Performance
Ulrich Krause
 
Dojo Und Notes
Dojo Und NotesDojo Und Notes
Dojo Und Notesdominion
 
Microservices mit Rust
Microservices mit RustMicroservices mit Rust
Microservices mit Rust
Jens Siebert
 
Real-Life-BPM mit Java EE: Ein Erfahrungsbericht
Real-Life-BPM mit Java EE: Ein ErfahrungsberichtReal-Life-BPM mit Java EE: Ein Erfahrungsbericht
Real-Life-BPM mit Java EE: Ein Erfahrungsbericht
Sven Jörges
 
MySQL: Gastvortrag an der Uni Frankfurt
MySQL: Gastvortrag an der Uni FrankfurtMySQL: Gastvortrag an der Uni Frankfurt
MySQL: Gastvortrag an der Uni Frankfurt
Kaj Arnö
 
MySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerMySQL Performance Tuning für Entwickler
MySQL Performance Tuning für Entwickler
FromDual GmbH
 
Lightweight AOP with CDI and JPA
Lightweight AOP with CDI and JPALightweight AOP with CDI and JPA
Lightweight AOP with CDI and JPAmh0708
 
Abläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisierenAbläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisieren
Christian Münch
 
Praesentation TYPO3Camp Berlin Speed mit Extbase
Praesentation TYPO3Camp Berlin Speed mit ExtbasePraesentation TYPO3Camp Berlin Speed mit Extbase
Praesentation TYPO3Camp Berlin Speed mit Extbase
Stefan Frömken
 
Windows Powershell
Windows PowershellWindows Powershell
Windows Powershell
Thomas Wilhelm Wiefel
 
Automatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit SeleniumAutomatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit SeleniumBenjamin Schmid
 
Ec2009 Templates
Ec2009 TemplatesEc2009 Templates
Ec2009 Templates
Ulrich Krause
 
SaaS Web 2.0 Dokumentenmanagement
SaaS Web 2.0 Dokumentenmanagement SaaS Web 2.0 Dokumentenmanagement
SaaS Web 2.0 Dokumentenmanagement
Bjoern Reinhold
 
Dokumentenmanagement als SaaS, Dokumentenmanagement SaaS
Dokumentenmanagement als SaaS, Dokumentenmanagement SaaSDokumentenmanagement als SaaS, Dokumentenmanagement SaaS
Dokumentenmanagement als SaaS, Dokumentenmanagement SaaS
GBS PAVONE Groupware GmbH
 

Ähnlich wie Web Data Management Final Presentation (20)

Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...
Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...
Vortrag auf der SEACON 2013 in Hamburg: Prozessautomatisierung mit BPMN 2.0 u...
 
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
 
Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?
Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?
Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?
 
Jakob Freund @ BPMN 2010
Jakob Freund @ BPMN 2010Jakob Freund @ BPMN 2010
Jakob Freund @ BPMN 2010
 
The pain of choice - Important libs for C# developers
The pain of choice - Important libs for C# developersThe pain of choice - Important libs for C# developers
The pain of choice - Important libs for C# developers
 
Agiles Modellieren mit Domain Specific Languages
Agiles Modellieren mit Domain Specific LanguagesAgiles Modellieren mit Domain Specific Languages
Agiles Modellieren mit Domain Specific Languages
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 Performance
 
Dojo Und Notes
Dojo Und NotesDojo Und Notes
Dojo Und Notes
 
Microservices mit Rust
Microservices mit RustMicroservices mit Rust
Microservices mit Rust
 
Real-Life-BPM mit Java EE: Ein Erfahrungsbericht
Real-Life-BPM mit Java EE: Ein ErfahrungsberichtReal-Life-BPM mit Java EE: Ein Erfahrungsbericht
Real-Life-BPM mit Java EE: Ein Erfahrungsbericht
 
MySQL: Gastvortrag an der Uni Frankfurt
MySQL: Gastvortrag an der Uni FrankfurtMySQL: Gastvortrag an der Uni Frankfurt
MySQL: Gastvortrag an der Uni Frankfurt
 
MySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerMySQL Performance Tuning für Entwickler
MySQL Performance Tuning für Entwickler
 
Lightweight AOP with CDI and JPA
Lightweight AOP with CDI and JPALightweight AOP with CDI and JPA
Lightweight AOP with CDI and JPA
 
Abläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisierenAbläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisieren
 
Praesentation TYPO3Camp Berlin Speed mit Extbase
Praesentation TYPO3Camp Berlin Speed mit ExtbasePraesentation TYPO3Camp Berlin Speed mit Extbase
Praesentation TYPO3Camp Berlin Speed mit Extbase
 
Windows Powershell
Windows PowershellWindows Powershell
Windows Powershell
 
Automatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit SeleniumAutomatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit Selenium
 
Ec2009 Templates
Ec2009 TemplatesEc2009 Templates
Ec2009 Templates
 
SaaS Web 2.0 Dokumentenmanagement
SaaS Web 2.0 Dokumentenmanagement SaaS Web 2.0 Dokumentenmanagement
SaaS Web 2.0 Dokumentenmanagement
 
Dokumentenmanagement als SaaS, Dokumentenmanagement SaaS
Dokumentenmanagement als SaaS, Dokumentenmanagement SaaSDokumentenmanagement als SaaS, Dokumentenmanagement SaaS
Dokumentenmanagement als SaaS, Dokumentenmanagement SaaS
 

Web Data Management Final Presentation