Ada Web Application is a framework to build a Web Application in Ada 2012. The framework provides several ready to use and extendable modules that are common to many web application. This includes the login, authentication, users, permissions, managing comments, tags, votes, documents, images. It provides a complete blog, question and answers and a wiki module.
AWA simplifies the Web Application development by taking care of user management with Google+, Facebook authentication and by providing the foundations on top of which you can construct your own application. AWA provides a powerful permission management that gives flexibility to applications to grant access and protect your user's resources.
AWA integrates the following projects:
- ASF (https://github.com/stcarrez/ada-asf)
- ADO (https://github.com/stcarrez/ada-ado)
- Ada Util (https://github.com/stcarrez/ada-util)
- Ada Wiki (https://github.com/stcarrez/ada-wiki)
- Ada EL (https://github.com/stcarrez/ada-el)
- Ada Security (https://github.com/stcarrez/ada-security)
- Dynamo (https://github.com/stcarrez/dynamo)
These projects are distributed under the Apache License 2.0.
AWA relies on the following external projects:
- AWS (http://libre.adacore.com/libre/tools/aws/)
- XMLAda (http://libre.adacore.com/libre/tools/xmlada/)
These projects are provided as tarball in 'external' directory. They are distributed under different licenses (GNU GPL). They are not compiled unless you tell configure to do so.
The AWA framework integrates a set unit tests and provides a framework to build unit tests for AWA applications. The unit tests are based on Ada Util test framework which itself is built on top of the excellent Ahven test framework (Ahven sources is integrated in Ada Util). You may get Ahven or Aunit at:
The AWA framework uses git submodules to integrate several other projects. To get all the sources, use the following commands:
git clone [email protected]:stcarrez/ada-awa.git
cd ada-awa
git submodule init
git submodule update
If XML/Ada and AWS are already installed in your environment, configure, build and install as follows:
./configure --prefix=/usr/local
make
make install
If you don't have XML/Ada or AWS, you must build them and install them first. You can use the XML/Ada and or AWS packages provided in the 'external' directory. To do this, run the configure as follows:
./configure --enable-xmlada --enable-aws
This will extract and configure XML/Ada in 'xmlada' and AWS in 'aws'. The build process of XML/Ada and AWS will take care of installing these two packages before configuring other AWA components.
make
make install
A docker container is available for those who want to try AWA without installing and building all required packages. To use the AWA docker container you can run the following commands:
sudo docker pull ciceron/awa
The Ada Web Application sources as well as a wiki documentation is provided on:
https://github.com/stcarrez/ada-awa/wiki/Documentation
You may read the following tutorials to lean more about the technical details about setting up and building an Ada Web Application: