Endurance Diary Case Study
Endurance Diary is a site for creating and tracking workouts, physical challenges, group events, and other fitness activities as well as sharing that information with your friends. Our passion for software development and personal endurance training led us to create a site that has all of the functionality we wanted in one place.. We are currently in the process of opening this site up to everyone in hopes that this site can enrich your training experiences and make it as easy as possible to log and track your activities. Come see us at http://endurancediary.com and start tracking your workouts.
Why we chose to use DevExpress for our controls
Endurance Diary was built using ASP.NET MVC. During the design process for the site we looked at the controls available from other vendors and in the end we chose to use the DevExpress MVC Extensions hands down. DevExpress Controls allow us to create a rich web experience for our users. With features including themes and support for client-side/server-side interaction as well as consistency of the code within controls (ClientSideEvents, Settings, Properties, etc) and great performance it was a no brainer to use their controls for our site. In the center section of the screen capture below there is a diary feed along with comments. This section uses the DevExpress MVC Extension Grid Control. Above the feed we use the DevExpress Menu control; we really liked the Glass theme and how well it looked within our overall site theme. The buttons, like the Comment button below, are much better in appearance than the standard buttons used within web development and so we chose to use those as well. To right we are using a DX Callback Panel which checks every 3 minutes if any new Notifications have been sent to you.
In addition to the DevExpress functionality that you can see on the page there is much more behind the scenes that you cannot see. Endurance Diary is running on DevExpress XPO in the backend. DevExpress's ORM Data mapping tool allows us to transform our Business Entity objects into true database tables and makes them first class citizens in our code. We had the choice of using EF4, nHibernate, or other ORM type vendors out there, however we chose XPO due to its ease of use and strong feature set. The performance we see is awesome with 1-3 second page loads. We also love the fact that we don’t have one huge data model to work with which is popular when using DataSets or EF4. I like that XPO lets me treat each entity as its own separate class without the extra work of mapping properties within XML. For this project XPO was a first choice solution and we don't regret a bit of it.
Endurance Diary currently has Workout Templates for Cycling, Runing/Walking, Hiking, and Swimming. We are adding more functionality every day with new templates to come like Gym/Home Fitness, Yoga, Kayaking, and more. Workouts display the data you want to track, for example a cycling workout currently has the following information:
This workout was imported using my E500 Garmin device. Currently Endurance Diary supports importing workouts using GPX and Garmin TCX file formats. We are adding more device support in the coming days. You can see on the Route/Laps tabs we chose to use DevExpress Tab Control and love the way it looks within our theme.
You might be wondering about security. As a good custodian of others data we take security very seriously. An individual workout can be made (Public, Friends Only, or Private) which is workout independent. Most of the other sites I have used are a one or nothing type of security meaning all of my workouts follow the Public or Private model. I may have one workout that I want to display publicly yet another that I want Private or viewable by my other friends on Endurance Diary only; in Endurance Diary I can do this. We have also implemented additional layers of security for workouts. For example, say I want to make my workout public yet I don’t want people seeing my route as it may be personal. This is not a problem in Endurance Diary, the Route has its own layer of security as well and can also be made (Public, Friends Only, or Private).
Right now Endurance Diary is in Beta and we are making changes to it daily adding more and more functionality as we and our members see fit. What you see today when logging into the site is just the skeleton of what is to come. We have big ideas and big plans of lots of new and exciting things to help athletes, pro or amateur, track the data that is important to them. If you have any questions, comments, features you want to request or ideas about something you feel is missing from our site, send us an email at firstname.lastname@example.org and we will be happy to get back to you.