Bigcapital is a simple,Smart open source accounting and inventory software, Bigcapital keeps all business finances in the right place and automates the accounting process, providing businesses with powerful and intelligent financial statements and reports to aid in decision making.
Bigcapital is built with a multi-tenant architecture that allows multiple organizations to use the same software while keeping their data separate from each other. This means that each organization using the software has its own database, which is segregated from other organizations’ databases. At the same time, there is a master database or system database among all tenants.
- Every organization that registers the software is given a unique identifier (tenant ID). When an organization logs in, the server retrieves the organization’s tenant ID from the login request and uses it to identify the organization’s database.
- All database operations performed by organization users are performed on their own databases.
- The server instance acts as a middleware between the client application and the database, routing all requests to the appropriate database based on the tenant ID.
- nginx proxy: The proxy server is configured to use
/apiRequests at the beginning are redirected to the server’s dynamic data (API endpoints), and all other requests are redirected to the single-page application’s static assets.
- system database: The system database is different from the tenant database, which is used to store the data of each individual tenant and is used by the software itself to manage and coordinate the different tenants and their databases.
- tenant database: Mysql tenant database, which is used to store all data related to the organization, and is automatically created and managed by the server after the user registers and sets up an account.
- web application: React SPA static assets communicate with server instance. Server: Stateful server instance based on NodeJS (we are working on making it stateless) to serve dynamic data to API endpoints.
- MongoDB: MongoDB is used to store agenda job metadata.
- cache storage: Redis is used to store data cached between all tenants.
#Bigcapital #Homepage #Documentation #Downloads #Smart #Cloud #Open #Source #Accounting #Software #News Fast Delivery