mirror of
https://github.com/kevinveenbirkenbach/infinito.git
synced 2025-04-16 02:06:23 +02:00
Optimized documentation
This commit is contained in:
parent
f6978628b9
commit
a7ad02be50
@ -1,11 +1,7 @@
|
|||||||
|
# Documentation
|
||||||
|
## convention
|
||||||
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”,
|
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”,
|
||||||
“SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be
|
“SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in the README.md files and in the comments of the code are to be
|
||||||
interpreted as described in [RFC 2119](https://tools.ietf.org/html/rfc2119).
|
interpreted as described in [RFC 2119](https://tools.ietf.org/html/rfc2119).
|
||||||
|
## README.md
|
||||||
# architecture
|
Each folder SHOULD contain a README.md file, which describes the domain of the folder.
|
||||||
|
|
||||||
## application
|
|
||||||
|
|
||||||
The application MUST be based in the application folder.
|
|
||||||
|
|
||||||
The application MUST use Symfony 4.
|
|
31
README.md
31
README.md
@ -3,9 +3,19 @@
|
|||||||
[](https://app.codacy.com/app/KevinFrantz/infinito?utm_source=github.com&utm_medium=referral&utm_content=KevinFrantz/infinito&utm_campaign=Badge_Grade_Dashboard)
|
[](https://app.codacy.com/app/KevinFrantz/infinito?utm_source=github.com&utm_medium=referral&utm_content=KevinFrantz/infinito&utm_campaign=Badge_Grade_Dashboard)
|
||||||
[](https://travis-ci.org/KevinFrantz/infinito) [](https://codecov.io/gh/KevinFrantz/infinito) [](https://www.gnu.org/licenses/agpl-3.0) [](https://github.com/KevinFrantz/infinito/blob/master/CODE_OF_CONDUCT.md)
|
[](https://travis-ci.org/KevinFrantz/infinito) [](https://codecov.io/gh/KevinFrantz/infinito) [](https://www.gnu.org/licenses/agpl-3.0) [](https://github.com/KevinFrantz/infinito/blob/master/CODE_OF_CONDUCT.md)
|
||||||
|
|
||||||
## Setup
|
## Idea
|
||||||
All setup and administration scripts you will find in the folder *administration*.
|
This software should offer a cloud based application\\framework for GUI based development and data management.
|
||||||
|
|
||||||
|
### Core\\USP\\Target
|
||||||
|
- High differentiable of rights for persons, groups and devices
|
||||||
|
- Interface for persons and devices (IoT)
|
||||||
|
- Support of mixtures between executables and data
|
||||||
|
- Versioning of every state of the used data
|
||||||
|
- Automized transparency for users about their data
|
||||||
|
- Expanding the standard program paradigma of classes and objects through ***sources***
|
||||||
|
- Implementation of all big standard applications via API to manage them over one interface
|
||||||
|
|
||||||
|
## Setup
|
||||||
To run the application you need docker.
|
To run the application you need docker.
|
||||||
|
|
||||||
After installing docker you just need to run
|
After installing docker you just need to run
|
||||||
@ -13,8 +23,21 @@ After installing docker you just need to run
|
|||||||
bash ./administration/init.sh
|
bash ./administration/init.sh
|
||||||
```
|
```
|
||||||
in the root directory of the repository.
|
in the root directory of the repository.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
The "GNU AFFERO GENERAL PUBLIC LICENSE" applies to this project. See LICENSE.txt.
|
The "GNU AFFERO GENERAL PUBLIC LICENSE" applies to this project. See [LICENSE.txt](./LICENSE.txt).
|
||||||
|
|
||||||
## Code of Conduct
|
## Code of Conduct
|
||||||
To contributions of this project the "Contributor Covenant Code of Conduct" applies. See CODE_OF_CONDUCT.md.
|
To contributions of this project the "Contributor Covenant Code of Conduct" applies. See [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md).
|
||||||
|
|
||||||
|
## Administration
|
||||||
|
Further information you will find in the [administration README.md](./administration/README.md).
|
||||||
|
|
||||||
|
## Application
|
||||||
|
Further information you will find in the [application README.md](./application/README.md).
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
Further information you will find in the [DOCUMENTATION.md](./DOCUMENTATION.md).
|
||||||
|
|
||||||
|
## Main Author
|
||||||
|
[Kevin Veen-Birkenbach](kevin@veen.world) aka. [Kevin Frantz](mail@Kevin-Frantz.de).
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
# requirements
|
#administration
|
||||||
|
|
||||||
|
In this folder you will find all necessary scripts to run and configure the application.
|
||||||
|
|
||||||
|
## requirements
|
||||||
|
|
||||||
This scripts are optimized for Ubuntu, but may they will run on MAC OS.
|
This scripts are optimized for Ubuntu, but may they will run on MAC OS.
|
||||||
|
|
||||||
Tested on a Ubuntu 18.04.1 LTS machine.
|
Tested on a Ubuntu 18.04.1 LTS machine.
|
||||||
|
|
||||||
# administration
|
## initialization
|
||||||
|
|
||||||
In the administration folder you will find all necessary scripts to run and configure the application.
|
|
||||||
|
|
||||||
# initialization
|
|
||||||
|
|
||||||
To initialize the docker environment, please execute in the root:
|
To initialize the docker environment, please execute in the root:
|
||||||
|
|
@ -1,15 +1,16 @@
|
|||||||
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”,
|
## backend application
|
||||||
“SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be
|
|
||||||
interpreted as described in [RFC 2119](https://tools.ietf.org/html/rfc2119).
|
|
||||||
|
|
||||||
# standards
|
## conventions
|
||||||
|
|
||||||
## coding standards
|
### coding
|
||||||
|
|
||||||
### php
|
#### symfony
|
||||||
|
The application MUST use Symfony 4. coding standards
|
||||||
|
|
||||||
|
#### php
|
||||||
PHP code MUST follow the [PSR-4](https://www.php-fig.org/psr/psr-4/) standard.
|
PHP code MUST follow the [PSR-4](https://www.php-fig.org/psr/psr-4/) standard.
|
||||||
|
|
||||||
### twig
|
#### twig
|
||||||
Twig templates MUST follow the [Symfony Template best practices](https://symfony.com/doc/current/best_practices/templates.html).
|
Twig templates MUST follow the [Symfony Template best practices](https://symfony.com/doc/current/best_practices/templates.html).
|
||||||
|
|
||||||
### naming
|
### naming
|
||||||
@ -26,8 +27,8 @@ A abstract class MUST be named *AbstractClassname*.
|
|||||||
|
|
||||||
It SHOULD be based in the directory of the classes which inherit from it.
|
It SHOULD be based in the directory of the classes which inherit from it.
|
||||||
|
|
||||||
#### entities
|
###### entities
|
||||||
|
|
||||||
##### source
|
####### source
|
||||||
|
|
||||||
A source MUST be named *SourcenameSource*.
|
A source MUST be named *SourcenameSource*.
|
0
documentation/process/.gitignore
vendored
0
documentation/process/.gitignore
vendored
@ -1,137 +0,0 @@
|
|||||||
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”,
|
|
||||||
“SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be
|
|
||||||
interpreted as described in [RFC 2119](https://tools.ietf.org/html/rfc2119).
|
|
||||||
|
|
||||||
"entity" or "entities" are to be interpreted as [Doctrine Objects](https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/working-with-objects.html).
|
|
||||||
|
|
||||||
**Bold** words define a unique type.
|
|
||||||
|
|
||||||
# requiremts
|
|
||||||
|
|
||||||
## interfaces
|
|
||||||
The application MUST contain the following interfaces:
|
|
||||||
* HTML
|
|
||||||
* JSON
|
|
||||||
|
|
||||||
## actors
|
|
||||||
|
|
||||||
### user
|
|
||||||
The application MUST provide the following functions:
|
|
||||||
* delete user
|
|
||||||
* register user
|
|
||||||
* modify user
|
|
||||||
* create user (child)
|
|
||||||
* login
|
|
||||||
* logout
|
|
||||||
|
|
||||||
A **user** MUST have one **node**.
|
|
||||||
|
|
||||||
A **user** MUST be a **source**.
|
|
||||||
|
|
||||||
### law
|
|
||||||
A **law** MUST belong exclusive to a **node**.
|
|
||||||
|
|
||||||
A **law** MUST contain one of each of **right** types one time.
|
|
||||||
|
|
||||||
#### right
|
|
||||||
A **right** MUST NOT be a **source**.
|
|
||||||
|
|
||||||
A **right** MUST belong to a **law**.
|
|
||||||
|
|
||||||
A **right** MUST be of one of the following types:
|
|
||||||
* read
|
|
||||||
* write
|
|
||||||
* administrate
|
|
||||||
|
|
||||||
#### permission
|
|
||||||
A **permission** MAY have a father from which it inherit.
|
|
||||||
|
|
||||||
A **permission** MUST belong to a **right**.
|
|
||||||
|
|
||||||
A **permission** MUST allow blacklisting.
|
|
||||||
|
|
||||||
A **permission** MUST allow whitelisting.
|
|
||||||
|
|
||||||
A **permission** MUST allow that it applies to the parent **relative collection** s of the rule set.
|
|
||||||
|
|
||||||
A **permission** MUST allow that it applies to the child **relative collection** s of the rule set.
|
|
||||||
|
|
||||||
A **permission** MUST contain a **collection** on which the rule set applies.
|
|
||||||
|
|
||||||
### node
|
|
||||||
A **node** MUST have one **source**.
|
|
||||||
|
|
||||||
A **node** MUST contain a parent **relative collection**.
|
|
||||||
|
|
||||||
A **node** MUST contain a children **relative collection**.
|
|
||||||
|
|
||||||
A **node** MAY be a member of one or more **relative collection** s.
|
|
||||||
|
|
||||||
A **node** MAY be a member of one or more **collection** entity.
|
|
||||||
|
|
||||||
A **node** MUST have a **law**.
|
|
||||||
|
|
||||||
A **node** MUST have a **history**.
|
|
||||||
|
|
||||||
#### relative collection
|
|
||||||
|
|
||||||
A **relative collection** MUST belong to a **node**.
|
|
||||||
|
|
||||||
A **relative collection** MUST contain **node** s.
|
|
||||||
|
|
||||||
A **relative collection** MUST provide the following functions:
|
|
||||||
* get all relatives
|
|
||||||
* get specific relative
|
|
||||||
* get relatives
|
|
||||||
* get relatives of generation
|
|
||||||
|
|
||||||
### source
|
|
||||||
A **source** MUST have one node.
|
|
||||||
|
|
||||||
A **source** MUST be an entity.
|
|
||||||
|
|
||||||
A **source** MUST contain a file fabric.
|
|
||||||
|
|
||||||
#### entities
|
|
||||||
Sources MUST be on of the following entities:
|
|
||||||
|
|
||||||
entity|attributes
|
|
||||||
--- | ---
|
|
||||||
user|username,password,identity
|
|
||||||
identity|names,addresses
|
|
||||||
address|
|
|
||||||
date|datetime
|
|
||||||
name|string
|
|
||||||
birthday|date
|
|
||||||
death|date
|
|
||||||
text|text(varchar)
|
|
||||||
collection|nodes
|
|
||||||
live|birthday,death
|
|
||||||
|
|
||||||
#### file
|
|
||||||
|
|
||||||
A **file** MUST be on of the following types:
|
|
||||||
|
|
||||||
* HTML
|
|
||||||
* JSON
|
|
||||||
* XML
|
|
||||||
* TEXT
|
|
||||||
* CSV
|
|
||||||
* JPG
|
|
||||||
* MD
|
|
||||||
|
|
||||||
It SHOULD be possible to export a **file** to one or more other **file** s.
|
|
||||||
|
|
||||||
It MUST be possible to edit a **file**.
|
|
||||||
|
|
||||||
IT MUST be possible to save a **file**.
|
|
||||||
|
|
||||||
#### collection
|
|
||||||
A **source** MAY contain other **nodes**.
|
|
||||||
|
|
||||||
### history
|
|
||||||
A **history** MUST log all of the actions which happen to a **node**.
|
|
||||||
|
|
||||||
A **history** MUST exclusive belong to a **node**.
|
|
||||||
|
|
||||||
A **history** MUST allow to give the state of a **node** of a special date back.
|
|
Loading…
x
Reference in New Issue
Block a user