Activity Tracking App built with Meteor.
Demo here: withpulp.meteor.com.
- 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
- tracks when user registered
- CRUD events
- Login/Register and OAUTH (facebook, twitter, google)
- ShareIt - share exploits on social media
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
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
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
When I've started an activity
I want to see how long my current streak is
So that I can gauge my progress
When I've started an activity
I want to see how long my longest streak was
So that I can gauge my progress
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
When I'm tracking an activity
I want to see how I'm doing compared to others
So that I can fuel my motivation
- Leaderboard
- Dashboard
Make sure Meteor is installed and up to date or run:
curl https://install.meteor.com/ | sh
git clone [email protected]:amazingBastard/activity-tracker.git
cd activity-tracker
meteor
It is highly recommended to use Meteor Up for easy deployments. Have a look at the repository for more information.
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: {...} });
});
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.
- Meteor Core
- Routing
- Collections
- Accounts
- UI and UX
- Security
- SEO
- Development
The "insecure" and "autopublish" packages are removed by default (they make your app vulnerable).
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
This project has an MIT License, see the LICENSE.txt for more information.