Inspiration

The inspiration for HealthBoard came from being annoyed by the clogged-up and user-unfriendly runtastic-website which focused on sports, advertisement and as it seemed to me, a bad user-experience. HealthBoard focuses more on general health and personal development rather than pure sports and aims at delivering a simple, more pleasant experience with friends and family, in a private healthBubble with one's own healthBoard-leaderboard.

What it does

It allows users to track healthy habits and activities such as drinking, doing sports, sleeping etc. and to compare these in a semi-competitive (motivational) way with stats from friends and family.

How I built it

Healthboard is built upon the so-called MEAN framework - more specifically: The site's backend is a node.js-server, running express and communicating to the front-end solely through socket.io. The frontend, which is a single-page web-app, relies heavily on Angular.js for making the dynamic content load and change as needed. The data such as account-information etc. is stored in a mongodb database accessed through mongoose. Openshift provided ready-to-use solutions for both node.js and mondodb so setting up the backend was as simple as choosing a name and pointing to a github-repository. Builds are triggered automatically through a webhook and pods are added and removed for new builds as needed, all thanks to the new openshift web-console.

Challenges I ran into

The front-end was a bigger challenge.. often running into problems like unknown browser-incompatibilites, angular-spaghetti or weird routing-loops, I had to use chrome and firefox's built-in javascript-debuggers quite a lot, but managed to rule out all problems in the end.

Accomplishments that I'm proud of

Making the routing seemless as well as using jwt-tokens for session-managment wasn't the easiest task but seeing it work flawlessly now I feel a sense of accomplishment. The design turned out nice as well and the colours give an interesting alternative to what one usually gets to see on the web every day.

What I learned

I learned that angular has a nasty learning-curve and that next time, a relation-based (sql-) database will be a much better idea than mongodb for things that include connected user-accounts (friends / news-feeds / comment-systems, etc)

What's next for healthBoard

Next I'll work on implementing some of the core mechanics of healthBoard, such as the ability to add activities and invite friends, as the project isn't entirely out of its alpha-version yet. It nevertheless proves a point in feasibility and robustness of web-apps using the openshift-platform and MEAN-framework and serves as an example of user-oriented webdesign.

Built With

Share this project:
×

Updates