paulvt / stoptime

The Stop… Camping Time! time registration and invoice application

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Stop… Camping Time! documentation

A (Camping) web application for task/project time registration and invoicing.

Features

  • Running project & tasks overview

  • Timeline overview of registered time

  • Management customer information

  • Administration of running and billed projects/task with

    • fixed cost, or

    • hourly rates

  • Administration of invoices

  • Invoice generation in PDF/LaTeX format

    • can include a time specification if required by the customer

  • Fully responsive (can be used om smartphone, tablet and desktop)

Requirements

Stop… Camping Time! is a Camping application, so you need:

  • Ruby 1.9 (>= 1.9.3) or 2.x

  • Camping (>= 2.1.532) with

    • Active Record (>= 3.2)

    • Mab (>= 0.0.3) , and optionally:

    • Thin or Mongrel (for testing and deployment without Apache/Rackup)

The following Ruby libraries are required:

  • ActionPack (>= 3.2) for ActionView

  • ActiveSupport (>= 3.2)

  • Rack (for deployment using Apache/Rackup)

  • Sass or Haml (which at the moment includes Sass)

and the following LaTeX programs:

  • pdflatex, with:

    • isodoc package (>= 1.00)

  • rubber

It is also possible to use Bundler (which is the default when using @config.ru@), in this you only need Ruby and Bundler installed.

Installation

For now, Stop… Camping Time! is in a developing state and not ready for site-wide deployment yet.

Usage

Stop… Camping Time! can be deployed directly using the Camping server (which uses Mongrel, or optionally Webrick). This is for simple deployments or for testing purposes. Easy deployment via Apache is possible using Phusion Passenger, aka mod_rails or mod_rack (see modrails.com). See below for the basic instructions.

Note that this application is a valid Rack application (see rack.rubyforge.org/) and can be deployed by anything that supports them.

Camping Server/Mongrel

Simply run from the command line:

$ camping stoptime.rb

and head over to localhost:3301/ to view and use the web application.

Phusion Passenger (mod_rails/mod_rack)/Apache

Camping applications are Rack applications. Deployment follows the standard way of deploying Rack applications using mod_rack. Stop… Camping Time! additionally needs to have the xsendfile module installed.

N.B. Ensure that Apache can, in both types of setups, write in the db/ and public/ folder.

Deployment on a virtual host

Use the following basic configuration:

<VirtualHost *:80>
   ServerName some.domain.tld
   DocumentRoot /path/to/stoptime/public
   <Directory /path/to/stoptime/public>
       Allow from all
       Options -MultiViews
   </Directory>

   XSendFile on
</VirtualHost>

Now, restart Apache and visit some.domain.tld/.

Deployment on a sub URI

For deployment on a sub URI, let us assume there is some virtual host serving files under /path/to/document_root, i.e. something like:

<VirtualHost *:80>
   ServerName some.domain.tld
   DocumentRoot /path/to/document_root
   <Directory /path/to/document_root/
       Allow from all
   </Directory>
</VirtualHost>

Then, add a symlink from the public subdirectory of to the document root, e.g.

ln -s /path/to/stoptime/public /path/to/document_root/stoptime

Then, add a RackBaseURI option to the virtual host configuration. For example:

<VirtualHost *:80>
  ServerName some.domain.tld
  ...

  RackBaseUri /stoptime
  <Directory /path/to/document_root/stoptime>
    Options -Multiviews
  </Directory>

  XSendFile on
</VirtualHost>

Now, restart Apache and visit some.domain.tld/stoptime.

For more extensive information, please refer to the documentation of Phusion Passenger: www.modrails.com/documentation/Users%20guide%20Apache.html#_deploying_a_rack_based_ruby_application

License

Stop… Camping Time! is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

About

The Stop… Camping Time! time registration and invoice application

License:GNU General Public License v2.0


Languages

Language:Ruby 93.6%Language:HTML 4.8%Language:Sass 1.0%Language:Dockerfile 0.6%