Skip to content

Commit 3874af0

Browse files
Improve README with badhes and example (#70)
1 parent 9f7a4ac commit 3874af0

File tree

1 file changed

+27
-81
lines changed

1 file changed

+27
-81
lines changed

README.md

Lines changed: 27 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,103 +1,49 @@
1-
# MultiCloudJ
1+
#
22

3-
Write once, deploy to any cloud provider...
3+
[![Build Status](https://github.com/salesforce/multicloudj/actions/workflows/build-test-codecov.yml/badge.svg)](https://github.com/salesforce/multicloudj/actions/workflows/build-test-codecov.yml)
4+
[![codecov](https://codecov.io/gh/salesforce/multicloudj/branch/main/graph/badge.svg)](https://codecov.io/gh/salesforce/multicloudj)
5+
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
6+
[![Maven Central](https://img.shields.io/maven-central/v/com.salesforce.multicloudj/multicloudj-parent.svg?label=Maven%20Central)](https://central.sonatype.com/artifact/com.salesforce.multicloudj/multicloudj-parent)
47

5-
**Multi-substrate Java SDK providing unified and substrate-neutral interfaces for cloud services such as Security Token Service (STS), Blob Storage, Key-Value Store, and more.**
68

79
---
810

9-
### Introduction
10-
11-
MultiCloudJ is a versatile and powerful Java SDK designed to abstract away complexities related to interacting with multiple cloud substrates. By providing substrate-neutral interfaces, developers can seamlessly integrate their Java applications with various cloud services including:
11+
MultiCloudJ
12+
----------------------
13+
Write once, deploy to any cloud provider...
1214

15+
MultiCloudJ is a cloud-agnostic Java SDK providing unified and substrate-neutral interfaces for cloud services. It enables developers to write once and deploy to any cloud provider with high-level APIs for Security Token Service (STS), Blob Storage, Document Store, and more, supporting major cloud providers like AWS, GCP, and Alibaba.
1316
- **Security Token Service (STS)**
1417
- **Blob Store**
1518
- **Document Store**
1619
- more to common...
1720

1821
MultiCloudJ simplifies multi-cloud compatibility, enabling consistent codebases and accelerating development for applications that needs to be deployed across different cloud platforms.
1922

20-
---
21-
22-
### Key Features
23-
24-
- **Unified Interfaces**: Write once, interact across multiple cloud providers without changing your application code.
25-
- **Multi-Cloud Support**: Compatible with major cloud providers like AWS, GCP, Alibaba.
26-
- **Uniform Semantics**: SDK provides the uniform semantics to the end user irrespective of the cloud provider.
27-
- **Extensible Architecture**: Easily extend and integrate additional cloud services into the SDK.
28-
- **Flexibility**: Easily override the default implementations and inject your own custom implementation in the env.
23+
For more information, see [the MulticloudJ official web site](https://opensource.salesforce.com/multicloudj).
2924

3025
---
3126

32-
### Getting Started
33-
34-
#### Requirements
27+
Requirements
28+
--------------------
3529

3630
- Java 11 or higher
3731
- Maven 3.8 or higher build automation
3832

39-
#### Installation
40-
41-
Include MultiCloudJ in your project by adding the dependency to your project's `pom.xml`:
33+
Getting Started
34+
---------------------
4235

43-
```xml
44-
<dependency>
45-
<groupId>com.salesforce.multicloudj</groupId>
46-
<artifactId>docstore</artifactId>
47-
<version>0.0.1</version>
48-
</dependency>
49-
```
50-
51-
#### Quick Example
52-
53-
Here's how you might use MultiCloudJ to interact with Docstore interface to create a document in AWS dynamo:
54-
55-
```java
56-
import com.salesforce.multicloudj.docstore.client.DocStoreClient;
57-
import com.salesforce.multicloudj.docstore.driver.CollectionOptions;
58-
import com.salesforce.multicloudj.docstore.driver.Document;
59-
import lombok.AllArgsConstructor;
60-
import lombok.Data;
61-
import lombok.NoArgsConstructor;
62-
63-
public class DocstoreExample {
64-
@AllArgsConstructor
65-
@Data
66-
@NoArgsConstructor
67-
static class Book {
68-
private String title;
69-
private String author;
70-
private String publisher;
71-
private float price;
72-
private Map<String, Integer> tableOfContents;
73-
private String docRevision;
74-
}
75-
76-
public static void main(String[] args) {
77-
CollectionOptions collectionOptions = new CollectionOptions.CollectionOptionsBuilder()
78-
.withTableName("chameleon-test")
79-
.withPartitionKey("title")
80-
.withSortKey("publisher")
81-
.withRevisionField("docRevision")
82-
.build();
83-
84-
DocStoreClient client = DocStoreClient.builder("aws")
85-
.withRegion("us-west-2")
86-
.withCollectionOptions(collectionOptions)
87-
.build();
88-
89-
Book book = new Book("YellowBook", "Zoe", "WA", 3.99f, new HashMap<>(Map.of("Chapter 1", 5, "Chapter 2", 10)), null);
90-
91-
client.create(new Document(book));
92-
}
93-
}
94-
```
36+
This short [Getting Started Guide](https://opensource.salesforce.com/multicloudj/getting-started) will walk you through basic operations on blob store,
37+
and demonstrate some simple reads and writes.
9538

9639
For more examples: please refer to [examples](https://github.com/salesforce/multicloudj/tree/main/examples) where we have detailed examples on blob store, docstore and sts.
9740

9841
---
9942

100-
### Building and Contributing
43+
44+
Building and Contributing
45+
------------------------
46+
10147

10248
To build MultiCloudJ from source:
10349

@@ -107,23 +53,23 @@ cd multicloudj
10753
mvn clean install
10854
```
10955

110-
We welcome contributions! Please review our [Contribution Guidelines](CONTRIBUTING.md).
56+
Visit our [Contribution Guidelines](CONTRIBUTING.md) for more information on how to contribute.
11157

11258
---
11359

114-
### Documentation
115-
60+
Documentation
61+
------------------------
11662
Detailed documentation can be found on our [official documentation site](https://opensource.salesforce.com/multicloudj).
11763

11864
---
11965

120-
### Community
121-
66+
Community
67+
------------------------
12268
- **Issues and Bug Reports**: [Github Issues](https://www.github.com/salesforce/multicloudj/issues)
12369
- **Discussion and Q&A**: [Discussions](https://www.github.com/salesforce/multicloudj/issues)
12470

12571
---
12672

127-
### License
128-
73+
License
74+
------------------------
12975
MultiCloudJ is released under the [Apache License 2.0](LICENSE.txt).

0 commit comments

Comments
 (0)