.. 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}/