Architecture of Open Procurement System

Find out about key components of the OpenProcurement system

The basic OpenProcurement toolkit comprises storing data and conducting auctions.

The toolkit includes two backend components:

  • a Central database (CDB) and an API
  • an Auction module.

Architecture of Open Procurement System

Third-party web platforms (eMalls, marketplaces, private markets, etc) interact with the CDB via OpenProcurement API and provide suppliers with temporary credentials to access the Auction module for participation in the auction.

Web platforms and CDB interact through the API - web interface based on the JSON notation.

The central unit data structure is based on Open Contracting Data Standards and follows the open data principle, publishing all data that can be published according to the law.

The toolkit implementing the OpenProcurement API has been developed using powerful open source web technologies such as Python, Pyramid, AngularJS, Bootstrap, Flask, CouchDB, and PouchDB.

Business logic is implemented in Python. Non-relational database CouchDB was used to store records of auctions, bids, etc. Attachments (binary files such as pdf, xls, etc.) are stored on the Amazon S3-compatible file server.

Originally OpenProcurement was developed for ProZorro procurement system. But this toolkit is flexible enough to handle all shapes and sizes of government and private sector procurements with minimum changes.