Giter Site home page Giter Site logo

hoomand / habitinator Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 0.0 5.56 MB

A Habit Tracking Application in Ruby on Rails

Home Page: http://www.habitinator.com/

License: GNU General Public License v3.0

Ruby 4.72% JavaScript 40.52% CSS 52.38% HTML 2.39%

habitinator's Introduction

Habitinator

Demo

http://www.habitinator.com/

What is it?

A multi user Ruby on Rails application for goal tracking.

You can sign up and start defining categories:

There are 3 supported category types:

  • Number: Goals of this category type allow you to enter a numerical value for progress.
  • Percent: You should enter a percentage (a value less than 100) for any goal progress that you define of this category type.
  • True/False: Goals of this category type only let you record whether you did achieved that goal today or not; i.e. did you go to Gym today?

After defining a category, you can have your goals defined. For each goal you should mention what category it belongs to and define an optional target value:

For instance you can define a goal named BodyPump, of category True/False and specify that you want to do 12 BodyPump sessions a month. You can save your progress and see how you did by clicking on BodyPump:

This shows you your progress during the time frame you specified (monthly for this goal) and the days that you logged in.

How do I install and run Habitinator?

Docker

The easiest way to run Habitinator locally on your machine.

Now you can either manually build the Docker image or pull it down from Docker Hub.

To pull it down, run docker pull sirbijan/habitinator

If you want to build it manually, run:

  • git clone [email protected]:sirbijan/habitinator.git
  • cd habitinator
  • Run docker build -t habitinator .

After having the image, you simply need to run it:

  • Run docker container run -p 80:3000 -d habitinator

Give it a few seconds to pass health checks and then you should be able to browse it on localhost:80.

Needless to mention that if you already have another service listening on port 80, you can change the port to any desired free port.

Local Installation

It's very easy to run Habitinator on your own local machine.

Software Requirements

You need to install below requirements before attempting to install Habitinator locally.

If you are on Linux or Mac OSX, you should already have 'ruby' installed. You can try 'ruby -v' to see if you have it. However, if your ruby version is below 2.4, or if you do not have it installed, you can use the link I provided below.

Follow the official Rails tutorial as how to install it on your box.

Installation Guide

Now that you have Ruby 2.4+ and Rails 5.1+ installed, you can safely run below commands in order:

  • git clone [email protected]:sirbijan/habitinator.git
  • cd habitinator
  • bundle install
  • rake db:setup
  • rails server

At this point if everything went fine, you should see that Rails is listening on localhost:3000. Open your browser and browse to localhost:3000 to see your local version of Habitinator.

You can use the email/password in the seed file to login.

Cloud

Elastic Beanstalk

If you are familiar with AWS Elastic Beanstalk, I'm happy to let you know that Habitinator gets easily deployed via Elastic Beanstalk and its EB CLI. You can follow this tutorial using your AWS account to have it setup in no time. I am using Elastic Beanstalk myself to deploy at www.habitinator.com.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.