Amadia, a Madagascar based non-profit organization focusing on diabetes patients, was in need of an ERP system to manage their activities. Crucial to the organization was that the ERP system was adapted to their needs and that the cost price was kept as low as possible.
After comparing the available options, Odoo was chosen as the ERP system for this project. The decisive factors were Odoo’s open source nature and it’s modular design. It allows users to choose and install the functionality they need as well as extend the system in a systematic way, which was exactly what we needed.
Odoo is an ERP system that uses a client/server architecture in which clients are web browsers accessing the Odoo server via Remote Procedure Call. Furthermore it also features an Object-Relational Mapping layer and follows the Model-View-Controller architectural pattern. PostgreSQL is used as database backend.
Following the MVC pattern, business objects are declared as Python classes:
While views are defined using XML:
To adapt the ERP system to the requirements of the Amadia organization, a fork was created of an existing healthcare module called Odoo Medical. This open source module is maintained by the Odoo Community Association and was only partially implemented. The module was further implemented and extended with specific modifications required by the Amadia organization.
Among the new features added for Amadia, the most prominent are the following:
- Medical services
- Automated stock management
Besides the development of the ERP system, I was also responsible for the installation and configuration of the server at Amadia’s hospital in Antananarivo. The application was installed on a server running Debian, a popular Linux distribution which is renowned for its stability. The server was configured with security in mind and the application was secured by sending all traffic through HTTPS. This was accomplished by using the Nginx webserver as a reverse proxy server that redirects traffic on the HTTPS port to Odoo.
The final Odoo module that I created for Amadia is available on github. For more information about the development environment as well as the installation and configuration of Debian, Odoo and Nginx, please refer to the technical documentation.