0xNaN / pomodoro.cc

Manage your time more effectively

Home Page:https://pomodoro.cc/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pomodoro.cc

Circle CI

Boost your productivity

## Manage your time more effectively

Pomodoro.cc is an online time tracking tool to plan and review the tasks for the day.

It takes advantage of the guidelines described in the Pomodoro Technique to work more effectively with frequent, mind-refreshing breaks.

With the help of insightful statistics, you'll be able to better understand how much time you spent on each task and how focused you were.


Contributing

app

From the app folder:

npm install.

  • to recompile the assets during development, run npm start

  • run the tests with npm test

  • run the end-to-end tests with npm run e2e

e2e

By default, npm run e2e runs the tests against firefox.

If you want to run the tests against Chrome, Safari and Firefox, you can use npm run e2e-cross-browser.

You have to install the correct chrome.webdriver and put it in bin/. You can download it from here

You have to install the Safari webdriver extension from here

api

npm install.

You can run the tests with: (inside vagrant)

/pomodoro.cc/api/opt/test

Development environment setup (vagrant, docker)

To setup a development machine you'll need:

  • vagrant 1.7.4
  • virtualbox 5.0.6
  • nodejs 4.2.1

Note: setup works with these versions, previous version might also work.

Run the following to bootstrap the environment (install the needed dependencies, setup docker, build the images)

opt/bootstrap

Fill in your information in the credentials.json if you want to be able to login in http://pomodoro.dev. You'll need to create an app for Github and Twitter. (If you don't want to provide them, that's fine. Whilst the authentication won't work, you will still need to create this file.)

Add an entry in your /etc/hosts:

192.168.11.2    pomodoro.dev

Boot up the vagrant with:

vagrant up

The vagrant box keep the following docker containers up and running:

  • pomodoro-main: nginx container that routes traffic to one of the following containers
    • pomodoro-app: nginx container that serves the static assets
    • pomodoro-api: node container that represents the api
    • pomodoro-blog: node container that contains the blog
  • redis: for the sessions shared between the two instances of pomodoro-api
  • mongo: db for the pomodoro-api to save pomodori of registered users

To rebuild the infrastructure, run (from /pomodoro.cc inside vagrant)

  • opt/docker.restart

or

  • opt/docker.build
  • opt/docker.rm
  • opt/docker.run
SSL certificate and credentials

You can override the self-signed certificate with (put the files in the ssl directory) :

openssl genrsa -des3 -passout pass:x -out pomodoro.cc.pass.key 2048
openssl rsa -passin pass:x -in pomodoro.cc.pass.key -out pomodoro.cc.key
openssl req -new -key pomodoro.cc.key -out pomodoro.cc.csr
openssl x509 -req -days 365 -in pomodoro.cc.csr -signkey pomodoro.cc.key -out bundle.crt
Seed The DB

Inside vagrant

opt/docker.seed

docker maintainance scripts and utilities

dump mongo

docker run --rm -it --link pomodoro-api-db:mongo_alias -v /backup/pomodoro:/dump mongo mongorestore -d pomodoro --drop --host mongo_alias /dump
#or
opt/mongo.dump /path/to/dump

restore mongo from dump

docker run --rm -it --link pomodoro-api-db:mongo_alias -v /pomodoro-db/pomodoro:/dump mongo mongorestore -d pomodoro --drop --host mongo_alias /dump
#or
opt/mongo.restore /path/to/restore

About

Manage your time more effectively

https://pomodoro.cc/


Languages

Language:JavaScript 68.1%Language:CSS 16.1%Language:Shell 8.0%Language:HTML 5.3%Language:Elixir 1.5%Language:Nginx 1.0%