NAME
    AproJo - A time recording application based on Mojolicious

SYNOPSIS
     $ aprojo setup
     $ aprojo daemon

DESCRIPTION
    AproJo is a Perl web application.

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

INSTALLATION
    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".

SETUP
  Environment
    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.

    "APROJO_HOME"
        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").

    "APROJO_CONFIG"
        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.

   config
     $ 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.

   setup
     $ 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.

RUNNING THE APPLICATION
     $ 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
    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.

TECHNOLOGIES USED
    *   Mojolicious <http://mojolicio.us> - a next generation web framework
        for the Perl programming language

    *   DBIx::Class <http://www.dbix-class.org/> - an extensible and
        flexible Object/Relational Mapper written in Perl

    *   Bootstrap <http://twitter.github.com/bootstrap> - the CSS/JS library
        from Twitter

    *   jQuery <http://jquery.com/> - jQuery

SEE ALSO
    *   Contenticious - File-based Markdown website application

SOURCE REPOSITORY
    <http://github.com/wollmers/AproJo>

AUTHOR
    Helmut Wollmersdorfer, <helmut.wollmersdorfer@gmail.com>

COPYRIGHT AND LICENSE
    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.

