diff --git a/README.md b/README.md index bba10d77..8a8b6c71 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,5 @@
- - - +
@@ -38,21 +36,14 @@ rules:
- The `Config` gets the values from your defined config files.
- The `DependencyProvider` uses the Locator to get the Facades from different modules.
+> ## You can check the full documentation [here](https://gacela-project.com/)
+
### Installation
```bash
composer require gacela-project/gacela
```
-## Documentation
-
-- [Basic concepts](docs/001_basic_concepts.md): What are the characteristics of a module?
-- [Facade](docs/002_facade.md): The entry point of your module
-- [Factory](docs/003_factory.md): The place where you create your domain services and objects
-- [Config](docs/004_config.md): Reads the values defined in your config path
-- [DependencyProvider](docs/005_dependency_provider.md): It defines the dependencies between modules
-- [Code generator](docs/006_code_generator.md): Some commands out-of-the-box for generating code
-
### Examples
You can see an example of a module using gacela in [this repository](https://github.com/gacela-project/gacela-example).
diff --git a/docs/001_basic_concepts.md b/docs/001_basic_concepts.md
deleted file mode 100644
index 8aa029e2..00000000
--- a/docs/001_basic_concepts.md
+++ /dev/null
@@ -1,43 +0,0 @@
-[Back to the index](../docs)
-
-# Basic concepts about modules
-
-First, what are the characteristics of a module?
-
-1. It encapsulates code to implement a particular functionality.
-2. It has an interface that lets clients access its functionality.
-3. It is easily pluggable with another module that expects its interface.
-4. It is usually packaged in a single unit so that it can be easily deployed.
-
-## 1. Encapsulates a particular functionality
-
-Think about the design of a module. How do you visualize it? Simple. It depends on its domain. The internal details of a
-module design should depend only on the domain where it belongs, but...
-
-- what about the common parts?
-- how should a module interact with other modules?
-- where are the instantiations of the domain services happening?
-- how do I limit the boundaries between the infrastructure and the domain within my module?
-
-## 2. Clients can access its functionality via an interface
-
-The way a module will communicate with other modules will be ONLY via its Facade. That's it.
-
-The Facade is the source of truth of what that module does. It belongs to the application layer, it's a mediator between
-the infrastructure (Factory & Config) and your domain logic (everything else in your module).
-
-## 3. Easily pluggable with another module
-
-There must be an easy way to define the dependencies between your modules. The basic idea is to be able to easily access
-the facades of other modules by exposing their FacadeInterface.
-
-## 4. Usually packaged in a single unit
-
-You should consider a module as an individual thing in order to decouple it from the rest of your modules. The logic in
-charge of reading from the IO (Config) is the only class which is coupled somehow with the infrastructure, but the rest
-should be decouple from the outside.
-
-All the responsibilities that a module handles should remain close and together. The domain of that module should guide
-its design.
-
-[Facade >>](../docs/002_facade.md)
diff --git a/docs/002_facade.md b/docs/002_facade.md
deleted file mode 100644
index 53bc1832..00000000
--- a/docs/002_facade.md
+++ /dev/null
@@ -1,11 +0,0 @@
-[Back to the index](../docs)
-
-# Facade
-
-Check the full `Facade` documentation here: [https://gacela-project.com/docs/facade/](https://gacela-project.com/docs/facade/)
-
-A Facade is the entry point of your module.
-
-The Facade uses the Factory to create the module's domain instances and executes the desired behaviour from them.
-
-[<< Basic Concepts](../docs/001_basic_concepts.md) | [Factory >>](../docs/003_factory.md)
diff --git a/docs/003_factory.md b/docs/003_factory.md
deleted file mode 100644
index bf398ce7..00000000
--- a/docs/003_factory.md
+++ /dev/null
@@ -1,10 +0,0 @@
-[Back to the index](../docs)
-
-# Factory
-
-Check the full `Factory` documentation here: [https://gacela-project.com/docs/factory/](https://gacela-project.com/docs/factory/)
-
-The Factory is the place where you create your domain services and objects.
-The Facade is the class that can access the Factory.
-
-[<< Facade](../docs/002_facade.md) | [Config >>](../docs/004_config.md)
diff --git a/docs/004_config.md b/docs/004_config.md
deleted file mode 100644
index c5371fb3..00000000
--- a/docs/004_config.md
+++ /dev/null
@@ -1,12 +0,0 @@
-[Back to the index](../docs)
-
-# Config
-
-Check the full `Config` documentation here: [https://gacela-project.com/docs/config/](https://gacela-project.com/docs/config/)
-
-Use a Config Class to construct your business domain classes by injecting the data from the Config using the Factory
-when you do the creation of your domain classes.
-
-In order to achieve that, you need to create a `gacela.json` file in your application root.
-
-[<< Factory](../docs/003_factory.md) | [Dependency Provider >>](../docs/005_dependency_provider.md)
diff --git a/docs/005_dependency_provider.md b/docs/005_dependency_provider.md
deleted file mode 100644
index cd1f8eac..00000000
--- a/docs/005_dependency_provider.md
+++ /dev/null
@@ -1,9 +0,0 @@
-[Back to the index](../docs)
-
-# Dependency Provider
-
-Check the full `DependencyProvider` documentation here: [https://gacela-project.com/docs/dependency-provider/](https://gacela-project.com/docs/dependency-provider/)
-
-This is the place where you can define the dependencies that a particular module has with other modules.
-
-[<< Config](../docs/004_config.md) | [Code Generator >>](../docs/006_code_generator.md)
diff --git a/docs/006_code_generator.md b/docs/006_code_generator.md
deleted file mode 100644
index 1b23068a..00000000
--- a/docs/006_code_generator.md
+++ /dev/null
@@ -1,15 +0,0 @@
-[Back to the index](../docs)
-
-# Code Generator
-
-Gacela Framework provides you some commands out-of-the-box to generate a `facade`, `factory`, `config`,
-`dependency provider` or a full `module` with a single command.
-
-- `make:module
-
-