=encoding utf8

=head1 NAME

Ado - busy or delaying activity; bustle; fuss. 

=head1 DESCRIPTION

Ado is a lightweight and reliable base for developing realtime 
web applications with database backend for the enterprise.
Ado is based on L<Mojolicious> and implements many of the 
recommendations from L<Mojolicious::Guides>. 
When in doubt it is recommended to follow these recomendations.

Ado adds some default configuration and a database schema. 
A default basic database is bundled in the distribution at etc/ado.sqlite
to get you up to speed quickly. The used RDBMS is L<DBD::SQLite>.
Tables can be accessed and manipulated using L<DBI> or any ORM.
We prefer L<DBIx::Simple::Class> trough L<Mojolicious::Plugin::DSC>. 
L<DBIx::Simple::Class> is a simple OM that provides representation
of table records as plain Perl objects.

=head1 INSTALLATION

Ado is meant to be installed into a folder of your choise.
It can go into the C<site> folder of your B<I<non-system Perl distro>> but
better install it in its own folder.

We do not recommend using Ado with your system Perl!
Get a precompiled Perl distro from
L<http://www.activestate.com/activeperl/downloads> for your OS 
or prepare your own using L<perlbrew>.

To install Ado after downloading, run the following commands:

  tar -zxf Ado-X.XX.tar.gz
  cd Ado-X.XX/
  perl Build.PL --install_base $HOME/path/to/ado
  #if run without --install_base $HOME/opt/ado will be suggested
  ./Build
  ./Build installdeps
  ./Build test
  ./Build install

=head1 SUPPORT AND DOCUMENTATION

After installing, you can find documentation with the
perldoc command.

    perldoc Ado
    perldoc Ado::Manual #this page

For better experience run the B<C<ado>> application and read the documentation
from your browser.

  $HOME/opt/ado/bin/ado daemon

Go to http:/localhost:3000/perldoc

You can report bugs and suggest features at L<http://github.com/kberov/Ado/issues>.
Bugs will be considered and fixed as time permits.
Feel invited to make pull requests for your contributions.

=head1 CONTRIBUTING

Generally the rules outlined in L<Mojolicious::Guides::Contributing>
apply for L<Ado> too.
For specific to Ado rules see L<Ado::Manual::Contributing>.


=head1 REST API

Ado strives for strict separation of concerns. As a result we came to the
conclusion that the best way to achieve this is to fully separate the 
client from the server. Ado is ideally suited for the purpose thanks to
L<Mojolicious>. Almost every resource is accessible via the REST API.
We try to follow closely the recommendations from "RESTful Service Best Practices" 
at L<www.RestApiTutorial.com>. See L<Ado::Manual::RESTAPI>.


=head1 SEE ALSO


L<Ado>, L<Mojolicious::Guides>, 
L<Module::Build::Cookbook/prefix_vs_install_base>, 
L<Mojolicious::Guides::Contributing>,
L<http://www.thefreedictionary.com/ado>.


=head1 AUTHOR

Красимир Беров (Krasimir Berov)

=head1 COPYRIGHT AND LICENSE

Copyright 2013 Красимир Беров (Krasimir Berov).

This program is free software, you can redistribute it and/or
modify it under the terms of the 
GNU Lesser General Public License v3 (LGPL-3.0).
You may copy, distribute and modify the software provided that 
modifications are open source. However, software that includes 
the license may release under a different license.

See http://opensource.org/licenses/lgpl-3.0.html for more information.

