mirror of
https://github.com/kevinveenbirkenbach/infinito.git
synced 2024-12-04 23:17:19 +01: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”,
|
||||
“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).
|
||||
|
||||
# architecture
|
||||
|
||||
## application
|
||||
|
||||
The application MUST be based in the application folder.
|
||||
|
||||
The application MUST use Symfony 4.
|
||||
## README.md
|
||||
Each folder SHOULD contain a README.md file, which describes the domain of the folder.
|
31
README.md
31
README.md
@ -3,9 +3,19 @@
|
||||
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/2754e42b5db4404798c13d1cf871dac3)](https://app.codacy.com/app/KevinFrantz/infinito?utm_source=github.com&utm_medium=referral&utm_content=KevinFrantz/infinito&utm_campaign=Badge_Grade_Dashboard)
|
||||
[![Build Status](https://travis-ci.org/KevinFrantz/infinito.svg?branch=master)](https://travis-ci.org/KevinFrantz/infinito) [![codecov](https://codecov.io/gh/KevinFrantz/infinito/branch/master/graph/badge.svg)](https://codecov.io/gh/KevinFrantz/infinito) [![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0) [![Code of Conduct](https://img.shields.io/badge/%E2%9D%A4-code%20of%20conduct-blue.svg?style=flat)](https://github.com/KevinFrantz/infinito/blob/master/CODE_OF_CONDUCT.md)
|
||||
|
||||
## Setup
|
||||
All setup and administration scripts you will find in the folder *administration*.
|
||||
## Idea
|
||||
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.
|
||||
|
||||
After installing docker you just need to run
|
||||
@ -13,8 +23,21 @@ After installing docker you just need to run
|
||||
bash ./administration/init.sh
|
||||
```
|
||||
in the root directory of the repository.
|
||||
|
||||
## 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
|
||||
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.
|
||||
|
||||
Tested on a Ubuntu 18.04.1 LTS machine.
|
||||
|
||||
# administration
|
||||
|
||||
In the administration folder you will find all necessary scripts to run and configure the application.
|
||||
|
||||
# initialization
|
||||
## initialization
|
||||
|
||||
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”,
|
||||
“SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be
|
||||
interpreted as described in [RFC 2119](https://tools.ietf.org/html/rfc2119).
|
||||
## backend application
|
||||
|
||||
# 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.
|
||||
|
||||
### twig
|
||||
#### twig
|
||||
Twig templates MUST follow the [Symfony Template best practices](https://symfony.com/doc/current/best_practices/templates.html).
|
||||
|
||||
### 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.
|
||||
|
||||
#### entities
|
||||
###### entities
|
||||
|
||||
##### source
|
||||
####### source
|
||||
|
||||
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…
Reference in New Issue
Block a user