.. toctree::
:numbered:
=======
ABTcore
=======
**Aakash Business Tool** is a client-server based ``Accounting`` application.
About
=====
This is the backbone of **Aakash Business Tool**.
**Aakash Business Tool core(ABTcore)** provides a Back-end to ABT
which is derived from core_engine of `GNUKhata `_.
This provides all the accounting functionality completely written in `Python
`_ language.
and used twisted liabrary to implement xmlrpc server and to access xmlrpc functions and
android-xmlrpc client access liabrary at client side and used Sqlite3
database server to maintain data.
We have completely dropped an idea of ``stored procedures``,
instead we have implemented an ``Object Relational Mapping`` using SQLAlchemy.
Installation of Dependencies:
=============================
Note: We are highly recommand to use Ubuntu based system for installation
and also use ``python`` vesion 2.5 and above
On Ubuntu machine
~~~~~~~~~~~~~~~~~
**Dependencies**
- libpcre3
- libpcre3-dev
- libreadline5
- libreadline6-dev
- libpq5
- sqlite3
- python-pip
- python-sqlalchemy
- python-twisted
On an Ubuntu machine, these dependencies can be installed using apt-get
.. code-block:: bash
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install libreadline5 libreadline6-dev libpq5
sudo apt-get install python-pip python-sqlalchemy
sudo apt-get install python-twisted
Now, you have done with installation of all the dependencies needed to work ABTcore(server)
On Aakash Device
~~~~~~~~~~~~~~~~
You have set up chroot environment to work on Aakash for ABT.
See `Setting up Chroot environment `_
How to run ABTcore(server):
===========================
On Ubuntu machine
~~~~~~~~~~~~~~~~~
Lets, first clone the ABTcore repository
.. code-block:: bash
git clone https://github.com/androportal/ABTcore.git
then , navigate through your ABTcore on your system as below
.. code-block:: bash
cd ABTcore
then run below command
.. code-block:: bash
sudo ./abtstart
Note: abtstart will start the server who listen the port ``7081``, so it should not be in use.
check for these message ``initialising application`` and ``starting server``
else ``inside exception`` will occure the run below command.
``inside exception`` it tells either ``7081`` port is already in use or
you have missed somthing to be done (as above)
.. code-block:: bash
sudo killall abtstart
Or
.. code-block:: bash
sudo killall python
and again run ``sudo ./abtstart`` to start ABTcore.
Now, you are ready to start with ABT(client) , please see `setting up frontend `_ for client-side setup.
After doing well with client setup , you are able to work on it.
On Aakash Device(ARM-arch)
~~~~~~~~~~~~~~~~~~~~~~~~~~
You have to setup a PATH for adb on your system, please refer ABT's README section "Importing ABT as an eclipse project". Once you have downloaded the SDK, update it to API-15(Icream Sandwich). and export adb's PATH using
**SYNTAX**
``export PATH=/home/${HOME}/