Appsmith
Appsmith makes it easy to build a UI that talks to any datasource. You can create anything from simple CRUD apps to complicated multi-step workflows with a few simple steps:
- Connect Datasource: Integrate with a database or API. Appsmith supports the most popular databases and REST APIs.
2.Build UI: Use built-in widgets to build your app layout.
- Write Logic: Express your business logic using queries and JavaScript anywhere in the editor.
- Collaborate, Deploy, Share: Appsmith supports version control using Git to build apps in collaboration using branches to track and roll back changes. Deploy the app and share it with other users.
Offical homepage: https://www.appsmith.com/
Project Architecture
- Persistent Database: MongoDB Replica Set single-node (can be expanded to multiple nodes for high availability)
- Cache: Redis single-node
- Main Program: Appsmith Community Edition (Appsmith-CE)
Startup Process of Services in the Project
- First, start the MongoDB and Redis services. After both services are up, the appsmith-ce service will be started (there will be a brief "unknown" status before the appsmith-ce service starts).
- Continuously check every 1 second whether MongoDB has finished initializing (by using a local mongosh connection) and output "Wait for MongoDB service initiate complete..." in the logs.
- After the MongoDB service starts, the script /etc/mongo-init.sh will be automatically executed (this is configured in the "configuration file"), performing the following tasks:
- Configuring the single-node Replica Set
- Creating the appsmith database, the appsmith user, and assigning the required permissions to the created user
- After the script is executed, the Appsmith service will use the automatically created appsmith user to operate the appsmith database in MongoDB.
- After the appsmith-ce service successfully connects to the MongoDB database, it will begin loading the service. The first load will take longer and requires configuring the external IP address (some necessary components need to be downloaded). Please wait patiently until the load is complete.
- Once the load is completed, you can access the web interface via the external IP address of appsmith-ce and start using Appsmith.