- Project description
- Technologies used
- Architecture design
- Web and Mobile user interface
- Data representation
This is on of my projects where I play around with different technologies. In this case I decided to make a cloud based fitness application that has support from mobile applications. This is where I test new web application methods, technologies, techniques, libraries etc and also playing around with mobile apps.
The application is very simple: You register in the application, you log in, you create a sets(groups) of Exercises and you start added activities to those exercises. Different metrics and data is recorded while you add or start activities such as dates, activity types and attributes, GEO Location. Data is then displayed with a charts components and by Google maps to show you progress if you are performing a sport activity on the move.
It’s a work in progress so bugs and weird behavior is expected, well at least by me :).
Presently used technologies/Methods/Techniques etc:
- Azure hosted SQL Database, MVC Web Appliation and WebAPI Service
- Microsoft MVC Web Application
- Microsoft WebAPI
- Microsoft SignalR
- Azure Service Bus Notification Hub
- Azure Table Storage
- Android application with Android Studio
- AngularJS(work in progress)
- Visual Studio 2013
- Android Studio 1.2
- Google Maps implementation for web and mobile devices with GEO Location support
- Azure SQL Database
- Xamarin Studio
The fitness service works through either a MVC(Single Page App, work in progress) web application (3) or a mobile client(Android OS support only at the moment).
The MVC Web Application, WebAPI and the Mobile Client all communicate through a SignalR hub to keep the UI of the users up to date. If you do something on a mobile client those all other devices or access points which are registered to the same client(by user ID) are notified. That target device or access point will do something then based on the event. The SignalR hub uses Azure Storage Table to manage client connections.
The fitness service also uses Azure Service Bus – Notification hub to pass on notifications from MVC Web Application or the WebAPI to mobile clients(at the moment).
The mobile clients will only communicate with the WebAPI service for data from the database.
The MVC Web Application will communicate directly to the database or through the WebAPI (in the case of the Single Page App functionalities).
The database is a Azure SQL Database which will hold all of the data coming from either the MVC app or the mobile client.
Web and Mobile user interface
iOS(Made with Xamarin Studio + Visual Studio):
Images from the application and its services:
Android(made with Android Studio):
User activity sports results
Code available to poke around :):