AproJo - A time recording application based on Mojolicious

AproJo Coverage Status Kwalitee Score CPAN version


 $ aprojo setup
 $ aprojo daemon


AproJo is a Perl web application.


AproJo is still in pre-Alpha state. It still misses essential features to be useful in production.


AproJo uses well-tested and widely-used CPAN modules, so installation should be as simple as

    $ cpanm AproJo

when using App::cpanminus. Of course you can use your favorite CPAN client or install manually by cloning the "SOURCE REPOSITORY".



Although most of AproJo is controlled by a configuration file, a few properties must be set before that file can be read. These properties are controlled by the following environment variables.


This is the directory where AproJo expects additional files. These include the configuration file and log files. The default value is the current working directory (cwd).


This is the full path to a configuration file. The default is a file named aprojo.conf in the APROJO_HOME path, however this file need not actually exist, defaults may be used instead. This file need not be written by hand, it may be generated by the aprojo config command.

The aprojo command line application

AproJo installs a command line application, aprojo. It inherits from the mojo command, but it provides extra functions specifically for use with AproJo.


 $ aprojo config [options]

This command writes a configuration file in your APROJO_HOME path. It uses the preset defaults for all values, except that it prompts for a secret. This can be any string, however stronger is better. You do not need to memorize it or remember it. This secret protects the cookies employed by AproJo from being tampered with on the client side.

AproJo does not need to be configured, however it is recommended to do so to set your application's secret.

The --force option may be passed to overwrite any configuration file in the current working directory. The default is to die if such a configuration file is found.


 $ aprojo setup

This step is required. Run aprojo setup to setup a database. It will use the default DBI settings (SQLite) or whatever is setup in the APROJO_CONFIG configuration file.


 $ aprojo daemon

After the database is has been setup, you can run aprojo daemon to start the server.

You may also use morbo (Mojolicious' development server) or hypnotoad (Mojolicious' production server). You may even use any other server that Mojolicious supports, however for full functionality it must support websockets. When doing so you will need to know the full path to the aprojo application. A useful recipe might be

 $ hypnotoad `which aprojo`

where you may replace hypnotoad with your server of choice.


Logging in AproJo is the same as in Mojolicious. Messages will be printed to STDERR unless a directory named log exists in the APROJO_HOME path, in which case messages will be logged to a file in that directory.


  • Mojolicious - a next generation web framework for the Perl programming language

  • DBIx::Class - an extensible and flexible Object/Relational Mapper written in Perl

  • Bootstrap - the CSS/JS library from Twitter

  • jQuery - jQuery




Helmut Wollmersdorfer, <>

Kwalitee Score


Copyright (C) 2013-2015 by Helmut Wollmersdorfer

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.