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 [email protected]: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

Watchers

Forks

Releases

No releases published

Packages

No packages published