TODO App Sample¶
A simple CRUD web application demonstrating the Multicloud DB SDK's portable API. The same Java code runs against Azure Cosmos DB, Amazon DynamoDB, or Google Cloud Spanner — switch providers by changing a single properties file.
The app starts an embedded HTTP server on http://localhost:8080 with a
browser-based UI for managing TODO items.
Samples repository
The TODO App source code and full setup instructions are in the multiclouddb-sdk-for-java-samples repository. See the TODO App README for complete emulator setup, build, and run instructions.
Architecture¶
graph TD
UI["Browser UI<br/><i>localhost:8080</i><br/>Create · Read · Update · Delete"]
UI -->|REST API| Server["Embedded Java HttpServer<br/><i>TodoApp.java</i>"]
Server -->|MulticloudDbClient| Cosmos["Cosmos DB<br/>Emulator"]
Server -->|MulticloudDbClient| Dynamo["DynamoDB<br/>Local"]
Server -->|MulticloudDbClient| Spanner["Spanner<br/>Emulator"]
Quick Start¶
Clone the samples repository and build:
git clone https://github.com/microsoft/multiclouddb-sdk-for-java-samples.git
cd multiclouddb-sdk-for-java-samples
mvn clean install -DskipTests
Then run against your chosen provider:
Then open http://localhost:8080 in your browser.
For detailed emulator setup and prerequisites, see the full TODO App guide.
Web UI Features¶
The browser UI provides:
- Create — add new TODO items with a title
- Read — view all TODO items in a list
- Update — toggle completion status
- Delete — remove items
All operations use the portable MulticloudDbClient API under the hood. The
same UI and REST endpoints work identically regardless of which provider is
configured.