diff --git a/docs/index.adoc b/docs/index.adoc
index 2e24c9ca..c520796a 100644
--- a/docs/index.adoc
+++ b/docs/index.adoc
@@ -4,7 +4,7 @@ layout: docs-adoc
menu: overview
---
-> *RESTHeart is a modern, JVM/GraalVM based, platform for building cloud-native HTTP microservices*
+> *RESTHeart is a modern, JVM and GraalVM-based platform for building cloud-native HTTP microservices*
NOTE: An _HTTP microservice_ is a server-side, lightweight component that exposes an HTTP API. Clients interact with it only through HTTP requests, usually - but not exclusively - using JSON payloads, decoupling the client from the underlying technology and completely separating the presentation from the business logic.
@@ -29,9 +29,9 @@ Save time and effort with RESTHeart's pre-configured APIs, covering a broad rang
== What makes RESTHeart different from other frameworks?
-*RESTHeart* is a framework for building HTTP microservices comparable to others, like _Undertow_ (that is actually internally used by RESTHeart), _Vert.x_, _Quarkus_, _Spring Boot_, _Node.js_, etc.
+*RESTHeart* is a framework for building HTTP microservices comparable to others, like _Undertow_ (internally used by RESTHeart), _Vert.x_, _Quarkus_, _Spring Boot_, _Node.js_, etc.
-However RESTHeart does not only comprises a framework, but also a set of application level features that allow developers to build their applications without the need to reinvent the wheel.
+However, RESTHeart does not only comprise a framework but also a set of application-level features that allow developers to build their applications without the need to reinvent the wheel.
++++
@@ -40,9 +40,9 @@ However RESTHeart does not only comprises a framework, but also a set of applica
++++
-`restheart-core` is the foundation of the platform, the runtime process responsible for handling the core services, parsing the configuration, registering the plugins, enforce the security policy, resolve dependency injections with the available `Providers`, route requests to the correct `Services`, executing `Interceptors` and `Initializers`.
+`restheart-core` is the foundation of the platform, the runtime process responsible for handling the core services, parsing the configuration, registering the plugins, enforcing the security policy, resolving dependency injections with the available `Providers`, routing requests to the correct `Services`, executing `Interceptors` and `Initializers`.
-If you look at the restheart installation directory structure, you will notice a directory called `plugins`:
+If you look at the RESTHeart installation directory structure, you will notice a directory called `plugins`:
[source,bash]
----
@@ -54,18 +54,18 @@ plugins
└── restheart-security.jar
----
-Those plugins implement application level functionalities that help building applications.
+Those plugins implement application-level functionalities that help build applications.
For instance, the plugin `restheart-mongodb` implements the REST API for MongoDB and `restheart-security.jar` implements the ready-to-use Authentication and Authorization features.
-A developer can easily deploy a custom plugin, by just adding it into the `plugins` directory. The plugin is just a JAR file, in case of Java or Kotlin and a directory with its `package.json` file in case of JavaScript.
+A developer can easily deploy a custom plugin, by just adding it into the `plugins` directory. The plugin is just a JAR file, in the case of Java or Kotlin and a directory with its `package.json` file in the case of JavaScript.
== Built for developers
-RESTHeart is built for developers by developers and evolved by implementing dozens of real world projects and following one golden rule: _if it is complex, it is wrong_.
+RESTHeart is built for developers by developers and evolved by implementing dozens of real-world projects.
-- Only four, simple yet powerful building blocks: `Services`, `Providers` `Intreceptors` and `Initializers`.
-- Starts in 100~ msecs, so code-deploy-test cycles are smooth and fast.
+- Only four, simple yet powerful building blocks: `Services`, `Providers` `Interceptors` and `Initializers`.
+- Starts in 100~ milliseconds, so code-deploy-test cycles are smooth and fast.
- Each request is handled in a dedicated thread, so all code is _thread-safe_, _simple_ to write and maintain and _scales well_.
- Powerful Dependency Injection via `@Inject` annotation and `Provider` plugin.
- The framework is polyglot and supports *Java*, *Kotlin*, *JavaScript* and *Typescript*.
@@ -96,27 +96,27 @@ export function handle(request, response) {
}
----
-NOTE: Javascript is executed in a thread safe, multi-threading concurrency environment. So you don't need to deal with async/await, promises, observable or any other fancy stuff. *Just clean and simple code*.
+NOTE: Javascript is executed in a thread-safe, multi-threading concurrency environment. So you don't need to deal with async/await, promises, observable or any other fancy stuff. *Just clean and simple code*.
== Features
-RESTHeart provides developers with the features required by most applications: authentication/authorization and data management:
+RESTHeart provides developers with the features required by most applications: authentication, authorization and data management:
- Declarative Authentication and Authorization.
- Instant REST, GraphQL and WebSocket API for MongoDB.
- SDK to easily develop custom features.
-NOTE: Most applications just require this. Then you just run a stock RESTHeart. Really, no code!
+> Most applications just require this. Then you just run a stock RESTHeart. Really, no code!
TIP: Check the link:/docs/try[demo Web Chat application]. It requires *zero* lines of backend code.
== The perfect MongoDB’s companion
-RESTHeart is the best API for MongoDB (and link:https://www.ferretdb.io[FerretDB], AWS DocumentDB and Azure CosmosDB)
+RESTHeart is the best API for MongoDB any compatible database (like link:https://www.ferretdb.io[FerretDB], AWS DocumentDB and Azure CosmosDB).
-- It exposes full database’s capabilities via REST, GraphQL and WebSocket APIs.
-- Developers don’t need to write a single line of backend code to handle data and wit Mobile Apps, Web Apps or Integration Middleware.
-- The Instant Data API cuts development complexity and costs up to 90%.
+- It exposes the full database’s capabilities via *REST*, *GraphQL* and *WebSocket* APIs.
+- Developers don’t need to write a single line of backend code to handle data with Mobile Apps, Web Apps or Integration Middleware.
+- The Instant Data API cuts development complexity and costs by up to 90%.
++++
@@ -129,7 +129,7 @@ RESTHeart is the best API for MongoDB (and link:https://www.ferretdb.io[FerretDB
*Hundreds of thousands TPS*
-RESTHeart parallel architecture provides superior performances.
+RESTHeart parallel architecture provides superior performance.
link:/docs/performances[Read More]
*Horizontal scaling*
@@ -141,7 +141,7 @@ link:/docs/clustering[Read More]
*Even faster on GraalVM*
RESTHeart on GraalVM provides a
-native solution with instant startup time and smaller memory footprint.
+native solution with instant startup time and a smaller memory footprint.
This is perfect when deploying to Kubernetes clusters,
where regular Java applications usually consume too many resources.
@@ -154,10 +154,9 @@ designed to radically simplify microservices development and deployment.
- Available as a standalone JAR file, native binary or Docker image.
- Deploy it on Cloud and On-Premises.
-== Dual licensed
+== Open-source and business-friendly licenses
-RESTHeart is dual-licensed under the AGPL and a Business Friendly
-Enterprise License
+RESTHeart is dual-licensed under the AGPL and a *Business Friendly* Enterprise License.
-- Enjoy the free AGPL distribution without feature restrictions.
-- Rely on the Enterprise License for production-grade support and to use RESTHeart in closed source products or services link:https://restheart.com[Read More].
+- Use the free AGPL distribution without feature restrictions.
+- Rely on the Enterprise License for production-grade support and to use RESTHeart in closed-source products or services link:https://restheart.com[Read More].