Skip to content

withpulp/activity-tracker

Repository files navigation

Activity Tracker

Activity Tracking App built with Meteor.

Demo here: withpulp.meteor.com.

Roadmap

Features

  • Time tracking algorithm
    • tracks when user registered
      • tracks when user enters event
      • tracks when user pauses event
      • tracks when user quits event (deletes account)
      • tracks streaks of consecutive days (sort by highest to lowest)
      • sort users with longest streaks
  • CRUD events
  • Login/Register and OAUTH (facebook, twitter, google)
  • ShareIt - share exploits on social media

Core Stories

Social Sign In
When I'm ready to track an activity
I want to sign in using Twitter, Google, Facebook  
So that I can quickly access my profile
Tracking Initiation
When I'd like to track an activity
I want to be able to automate the tracking
So that I can make more productive use of my time
Daily Tracking
When I'm tracking an activity
I would like to show intent on a daily basis
So that I can keep a daily tally of my commitment
Current Streak
When I've started an activity
I want to see how long my current streak is
So that I can gauge my progress
Longest Streak
When I've started an activity
I want to see how long my longest streak was
So that I can gauge my progress
Multiple Events
When I've started a new activity
I want to be able to track it alongside other activties
So that I can learn about my strengths
Leaderboard
When I'm tracking an activity
I want to see how I'm doing compared to others
So that I can fuel my motivation

Views

  • Leaderboard
  • Dashboard

How to use

Requirements

Make sure Meteor is installed and up to date or run:

curl https://install.meteor.com/ | sh

Installation

git clone git@github.com:amazingBastard/activity-tracker.git
cd activity-tracker
meteor

Deployments

It is highly recommended to use Meteor Up for easy deployments. Have a look at the repository for more information.

SEO and other concerns

Meteor cannot do SEO

This statement is only partially true, since there is a package called ms-seo, which has a lot of neat little tricks to help web crawlers notice your app the way you want them to. Use constants under client/lib/constants.js for the app. Change SEO settings inside the routes like that.

Router.route('/about', function () {
  this.render('about');
  // Using the app constants
  SEO.set({ title: 'About -' + Meteor.App.NAME, og: {...} });
});

Adding allow rules for external URLs

The browser-policy adds rules to deny all operations from external URLs. This helps dealing with clickjacking and other XSS methods used to attack the client. To whitelist a url, add following to server/config/security.js

BrowserPolicy.content.allowOriginForAll(YOUR_URL);

Other security enforcing packages like audit-argument-checks and matteodem:easy-security have also been added.

Structure

Packages used

The "insecure" and "autopublish" packages are removed by default (they make your app vulnerable).

Folder structure

client/ 				# Client folder
    compatibility/      # Libraries which create a global variable
    config/             # Configuration files (on the client)
	lib/                # Library files that get executed first
    startup/            # Javascript files on Meteor.startup()
    stylesheets         # LESS files
    modules/            # Meant for components, such as form and more
	views/			    # Contains all views
	    common/         # General purpose html templates
model/  				# Model files, for each Meteor.Collection
private/                # Private files
public/                 # Public files
routes/                 # All routes
server/					# Server folder
    fixtures/           # Meteor.Collection fixtures defined
    lib/                # Server side library folder
    publications/       # Collection publications
    startup/            # On server startup

License

This project has an MIT License, see the LICENSE.txt for more information.

About

Activity Tracking App built with Meteor.

Resources

License

Stars

1 star

Watchers

5 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors