Appsmith Project Structure

The open-source low-code platform for building internal tools. A complex Java/Spring Boot backend combined with a sophisticated React frontend.

Updated 2025-12-30

#appsmith #java #spring-boot #react #low-code #mongodb #monorepo
PNGPDF

Project Directory

appsmith/
app/
Main Application Source
server/
Java Backend
appsmith-server/
Core API Server
appsmith-plugins/
Datasource Plugins
appsmith-interfaces/
Shared Java Interfaces
pom.xml
Maven Config
client/
React Frontend
src/
pages/
Editor & Dashboard
widgets/
UI Widgets
package.json
deploy/
Deployment Scripts (Docker, K8s, Ansible)
Dockerfile
Container definition

Repository Info

Tech Stack

  • Backend-Java (Spring WebFlux)
  • Frontend-React + Redux Saga
  • Database-MongoDB
  • Cache-Redis
  • Build Tool-Maven / Yarn

Architecture Notes

Appsmith uses a reactive stack on the backend with **Spring WebFlux** and **Reactor**, allowing it to handle high concurrency efficiently. The frontend is a heavy React application that manages a complex state (the widget tree and evaluation graph). The 'Plugin' system allows Appsmith to connect to any datasource (Postgres, Snowflake, REST APIs) in a modular way.

Key Directories

  • app/server/appsmith-server/-The main API server. Handles user authentication, page rendering logic, and orchestrates actions.
  • app/server/appsmith-plugins/-Contains individual Maven modules for each integration (e.g., postgres-plugin, restApi-plugin). This isolation prevents dependency conflicts between drivers.
  • app/client/src/widgets/-The library of UI components (Table, Input, Button) that users drag and drop onto the canvas.

Why This Structure?

Appsmith is a great example of a modern Enterprise Java application. It shows how to use Spring Boot in a non-blocking way (WebFlux) and how to structure a large monorepo that contains both a complex Java backend and a TypeScript frontend.

Share this template

Related Templates

© 2025 FolderStructure.dev