dlvisidro / terrain

0 stars 0 forks source link

Project Design and Architecture #23

Open sync-by-unito[bot] opened 4 months ago

sync-by-unito[bot] commented 4 months ago

┆Issue is synchronized with this Trello card by Unito ┆Attachments: image.png | Screenshot 2024-05-20 at 10.31.18 AM.png | terrain.drawio.png

sync-by-unito[bot] commented 4 months ago

➤ Dian Leithon Isidro commented:

Infrastructure Designimage.png ( https://trello.com/1/cards/6642fa227cf409b05a42f794/attachments/6645ae8298e050d668226bc6/download/image.png )

Terrain/Accounting is the main component of the Terrain project. UI/UX will be provided by this. Fetcher is the service that will fetch data from RMS on regular intervals. Notifier is the service that will do the automated sending of emails notifications (and maybe other form of notifications in the FUTURE). RMS Cloud is an external party and is the primary data source. It can be accessed via ReST. Email Service Provider is an external party which will provide email service. This will be finalized later. Proxy will improve security, performance, and reliability. Keycloak (FUTURE) will serve as the identity and access management component.

sync-by-unito[bot] commented 4 months ago

➤ Dian Leithon Isidro commented:

Software Stack: - PHP/Laravel for API layer - VueJS for frontend and Vuetify for the component framework - NodeJS for microservices - Keycloak for I&AM - MySQL for DBMS - Docker - Docker Compose for orchestration - Ansible (?) for automation - nginx for reverse proxy and web server - Github Actions for CI/CD

sync-by-unito[bot] commented 4 months ago

➤ Dian Leithon Isidro commented:

Updated Design: Screenshot 2024-05-20 at 10.31.18 AM.png ( https://trello.com/1/cards/6642fa227cf409b05a42f794/attachments/664ab5fd91484c2c679bf524/download/Screenshot_2024-05-20_at_10.31.18_AM.png )

sync-by-unito[bot] commented 4 months ago

➤ Dian Leithon Isidro commented:

Note: IDs that refer to RMS Cloud data should be prefixed by rms_, e.g. rms_property_id, rms_agent_id

sync-by-unito[bot] commented 4 months ago

➤ Dian Leithon Isidro commented:

Updated design:

terrain.drawio.png ( https://trello.com/1/cards/6642fa227cf409b05a42f794/attachments/6656c60443d0bc582f7f4925/download/terrain.drawio.png )

In this design, we will expand the role of the proxy to serve as an API gateway. This adaptation enables secure access to the RMS cloud directly from the front-end, eliminating the need to route through the API service container.

However, these additional responsibilities will be integrated incrementally, prioritizing the development of key functionalities first.