Implementing automatic inclusion of licenses

This commit is contained in:
Petri Tuomola
2021-12-10 18:06:50 +01:00
committed by Michael Vorburger ⛑️
parent 291edd7a3f
commit a58debcb2e
51 changed files with 47 additions and 2662 deletions
@@ -10,7 +10,7 @@ The target audience for this report is both system integrators (who will use the
==== The Idea
Mifos was an idea born out of a wish to create and deploy technology that allows the microfinance industry to scale. The goal is to:
Fineract was an idea born out of a wish to create and deploy technology that allows the microfinance industry to scale. The goal is to:
- Produce a gold standard management information system suitable for microfinance operations
- Acts as the basis of a platform for microfinance
@@ -23,12 +23,13 @@ Mifos was an idea born out of a wish to create and deploy technology that allows
- Late 2011: Grameen Foundation handed over full responsibility to open source community.
- 2012: Mifos X platform started. Previous members of project come together under the name of Community for Open Source Microfinance (COSM / OpenMF)
- 2013: COSM / OpenMF officially rebranded to Mifos Initiative and receive US 501c3 status.
- 2016: Fineract 1.x began incubation at Apache
==== Project Related
- Project url is https://github.com/openMF/mifosx
- Download from https://sourceforge.net/projects/mifos/
- Download stats
- Project url is https://github.com/apache/fineract
- Issue tracker is https://issues.apache.org/jira/projects/FINERACT/summary
- Download from http://fineract.apache.org/
=== System Overview
@@ -91,8 +92,8 @@ At a higher level though we see the capabilities fall into the following categor
=== Technology
* Java 11: http://www.oracle.com/technetwork/java/javase/downloads/index.html
* JAX-RS 1.0: using Jersey (1.17.x)
* Java: http://www.oracle.com/technetwork/java/javase/downloads/index.html
* JAX-RS using Jersey
* JSON using Google GSON
* Spring I/O Platform: http://spring.io/platform
** Spring Framework
@@ -116,7 +117,7 @@ See online API Documentation for more detail.
==== Multi-tenanted
The mifos platform has been developed with support for multi-tenancy at the core of its design. This means that it is just as easy to use the platform for Software-as-a-Service (SaaS) type offerings as it is for local installations.
The Fineract platform has been developed with support for multi-tenancy at the core of its design. This means that it is just as easy to use the platform for Software-as-a-Service (SaaS) type offerings as it is for local installations.
The platform uses an approach that isolates an FIs data per database/schema (See Separate Databases and Shared Database, Separate Schemas).
@@ -1,47 +0,0 @@
@startuml
!include <awslib/AWSCommon>
' Uncomment the following line to create simplified view
!include <awslib/AWSSimplified>
!include <awslib/General/Users>
!include <awslib/Mobile/APIGateway>
!include <awslib/SecurityIdentityAndCompliance/Cognito>
!include <awslib/Compute/Lambda>
!include <awslib/Database/DynamoDB>
!include <awslib/Storage/SimpleStorageServiceS3>
!include <awslib/InternetOfThings/IoTRule>
!include <awslib/InternetOfThings/IoTAction>
!include <awslib/Analytics/KinesisDataStreams>
!include <awslib/ApplicationIntegration/SQSQueue>
left to right direction
agent "Published Event" as event #fff
IoTRule(iotRule, "Action Error Rule", "error if Kinesis fails")
KinesisDataStreams(eventStream, "IoT Events", "2 shards")
SQSQueue(errorQueue, "Rule Error Queue", "failed Rule actions")
event --> iotRule : JSON message
iotRule --> eventStream : messages
iotRule --> errorQueue : Failed action message
Users(sources, "Events", "millions of users")
APIGateway(votingAPI, "Voting API", "user votes")
Cognito(userAuth, "User Authentication", "jwt to submit votes")
Lambda(generateToken, "User Credentials", "return jwt")
Lambda(recordVote, "Record Vote", "enter or update vote per user")
DynamoDB(voteDb, "Vote Database", "one entry per user")
SimpleStorageServiceS3(s3_partner, "Vendor's S3", "Technology", "Optional Description")
SimpleStorageServiceS3(s3_internal, "Internal", "Technology", "Optional Description")
s3_internal <- s3_partner
sources --> userAuth
sources --> votingAPI
userAuth <--> generateToken
votingAPI --> recordVote
recordVote --> voteDb
@enduml
@@ -1,64 +0,0 @@
@startuml
!includeurl https://raw.githubusercontent.com/ebbypeter/Archimate-PlantUML/master/Archimate.puml
'!include <archimate/Archimate.puml>
title Archimate Example - Relationships
'LAYOUT_AS_SKETCH
'LAYOUT_LEFT_RIGHT
'LAYOUT_TOP_DOWN
Business_Service(Service01, "Service 01")
Application_Service(Service02, "Service 02")
Technology_Service(Service03, "Service03")
Rel_Composition_Right(Service01, Service02, "Composition")
Rel_Aggregation(Service01, Service02, "Aggregation")
Rel_Assignment(Service01, Service02, "Assignment")
Rel_Specialization(Service01, Service02, "Specialization")
Rel_Serving(Service01, Service02, "Serving")
Rel_Association(Service02, Service03, "Association")
Rel_Flow(Service02, Service03, "Flow")
Rel_Realization(Service02, Service03, "Realization")
Rel_Triggering(Service02, Service03, "Triggering")
Rel_Access(Service02, Service03, "Access")
Rel_Influence(Service02, Service03, " + Influence")
Grouping(Example01, "Example 01"){
Strategy_Capability(TestCapability01, "Test Capability")
Business_Product(TestProduct01, "Test Product")
Application_Service(TestService01, "Test Service")
Technology_Device(TestDevice01, "Test Device")
Rel_Composition(TestCapability01, TestProduct01, "C-P")
Rel_Composition_Down(TestProduct01, TestService01, "P-S")
Rel_Composition_Left(TestService01, TestDevice01, "S-D")
Rel_Composition_Up(TestDevice01, TestCapability01, "D-C")
}
Lay_D(Service01, Example01)
Group(Example02, "Group Type 02"){
Motivation_Stakeholder(StakeholderElement, "Stakeholder Description")
Business_Service(BService, "Business Service")
}
Motivation_Requirement(ReqPayrollStandard, "Do Payroll with a standard system")
Motivation_Requirement(ReqBudgetPlanning, "Do budget planning within the ERP system")
Application_Service(ASPayroll,"Payroll Service")
Application_Service(ASBudgetPlanning,"Budget Planning Service")
Application_Component(ACSAPFinanceAccRec, "SAP Finance - Accounts Recievables")
Application_Component(ACSAPHR, "SAP Human Resources")
Application_Component(ACSAPFin, "SAP Finance")
Application_Component(ACSAP,"SAP")
Rel_Realization_Up(ASPayroll, ReqPayrollStandard)
Rel_Realization_Up(ASBudgetPlanning, ReqBudgetPlanning)
Rel_Realization_Up(ACSAPFinanceAccRec, ASBudgetPlanning)
Rel_Realization_Up(ACSAPHR, ASPayroll)
Rel_Composition_Up(ACSAPFin, ACSAPFinanceAccRec)
Rel_Composition_Up(ACSAP, ACSAPHR)
Rel_Composition_Up(ACSAP, ACSAPFin)
@enduml
@@ -1,49 +0,0 @@
@startuml
' see: https://github.com/RicardoNiepel/C4-PlantUML
'!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Container.puml
!include <c4/C4_Container.puml>
LAYOUT_TOP_DOWN
' LAYOUT_WITH_LEGEND
Person_Ext(anonymous_user, "Anonymous User")
Person(aggregated_user, "Aggregated User")
Person(administration_user, "Administration User")
System_Boundary(c1, "techtribes.js"){
Container(web_app, "Web Application", "Java, Spring MVC, Tomcat 7.x", "Allows users to view people, tribes, content, events, jobs, etc. from the local tech, digital and IT sector")
ContainerDb(rel_db, "Relational Database", "MySQL 5.5.x", "Stores people, tribes, tribe membership, talks, events, jobs, badges, GitHub repos, etc.")
Container(filesystem, "File System", "FAT32", "Stores search indexes")
ContainerDb(nosql, "NoSQL Data Store", "MongoDB 2.2.x", "Stores from RSS/Atom feeds (blog posts) and tweets")
Container(updater, "Updater", "Java 7 Console App", "Updates profiles, tweets, GitHub repos and content on a scheduled basis")
}
System_Ext(twitter, "Twitter")
System_Ext(github, "GitHub")
System_Ext(blogs, "Blogs")
Rel(anonymous_user, web_app, "Uses", "HTTPS")
Rel(aggregated_user, web_app, "Uses", "HTTPS")
Rel(administration_user, web_app, "Uses", "HTTPS")
Rel(web_app, rel_db, "Reads from and writes to", "SQL/JDBC, post 3306")
Rel(web_app, filesystem, "Reads from")
Rel(web_app, nosql, "Reads from", "MongoDB wire protocol, port 27017")
Rel_U(updater, rel_db, "Reads from and writes data to", "SQL/JDBC, post 3306")
Rel_U(updater, filesystem, "Writes to")
Rel_U(updater, nosql, "Reads from and writes to", "MongoDB wire protocol, port 27017")
Rel(updater, twitter, "Gets profile information and tweets from", "HTTPS")
Rel(updater, github, "Gets information about public code repositories from", "HTTPS")
Rel(updater, blogs, "Gets content using RSS and Atom feeds from", "HTTP")
Lay_R(rel_db, filesystem)
@enduml
@@ -1,104 +0,0 @@
@startuml
' see: https://github.com/awslabs/aws-icons-for-plantuml
!define AWSPuml https://raw.githubusercontent.com/awslabs/aws-icons-for-plantuml/master/dist
!includeurl AWSPuml/AWSCommon.puml
!includeurl AWSPuml/EndUserComputing/all.puml
!includeurl AWSPuml/Storage/SimpleStorageServiceS3.puml
' see: https://github.com/aheil/EIP-PlantUML
!includeurl https://raw.githubusercontent.com/aheil/EIP-PlantUML/main/dist/EIP-PlantUML.puml
' see: https://github.com/Roemer/plantuml-office
!define ICONURL https://raw.githubusercontent.com/Roemer/plantuml-office/master/office2014
!includeurl ICONURL/Servers/database_server.puml
!includeurl ICONURL/Servers/application_server.puml
!includeurl ICONURL/Concepts/firewall_orange.puml
!includeurl ICONURL/Clouds/cloud_disaster_red.puml
' https://github.com/tupadr3/plantuml-icon-font-sprites
!define ICONURL https://raw.githubusercontent.com/tupadr3/plantuml-icon-font-sprites/v2.1.0
!includeurl ICONURL/common.puml
!includeurl ICONURL/common.puml
!includeurl ICONURL/devicons/mysql.puml
!includeurl ICONURL/font-awesome/database.puml
!includeurl ICONURL/font-awesome-5/database.puml
' https://github.com/rabelenda/cicon-plantuml-sprites
!define SPRITESURL https://raw.githubusercontent.com/rabelenda/cicon-plantuml-sprites/v1.0/sprites
!includeurl SPRITESURL/tomcat.puml
!includeurl SPRITESURL/kafka.puml
!includeurl SPRITESURL/java.puml
!includeurl SPRITESURL/cassandra.puml
' https://github.com/RicardoNiepel/Azure-PlantUML
!define AzurePuml https://raw.githubusercontent.com/RicardoNiepel/Azure-PlantUML/release/2-1/dist
!includeurl AzurePuml/AzureCommon.puml
!includeurl AzurePuml/Databases/all.puml
!includeurl AzurePuml/Compute/AzureFunction.puml
' Remove shadows
skinparam shadowing true
actor "Person" as personAlias1
AzureFunction(functionAlias, "Label", "Technology", "Optional Description")
AzureCosmosDb(cosmosDbAlias, "Label", "Technology", "Optional Description")
personAlias1 --> functionAlias
functionAlias --> cosmosDbAlias
rectangle "<$tomcat>\nwebapp" as webapp
queue "<$kafka>" as kafka
rectangle "<$java>\ndaemon" as daemon
database "<$cassandra>" as cassandra
webapp -> kafka
kafka -> daemon
daemon --> cassandra
DEV_MYSQL(db)
DEV_MYSQL(db4,label of db4,database,red) #DeepSkyBlue
MsgChannel(channel1, "Channel 1")
MsgChannel(channel2, "Channel 2")
Message(msg, "Message")
Send(channel1, msg)
Send(msg, channel2)
rectangle System1
rectangle System2
rectangle System3
Message(source)
Message(target)
ControlBus("cb")
Send(source, System1)
Send(System1, System2)
Send(System2, System3)
Send(System3, target)
System1 <--> cb
System2 <--> cb
System3 <--> cb
SimpleStorageServiceS3(storageAlias, "Label", "Technology", "Optional Description")
actor User
[Third party application] as ThirdPartyApp
package "Spring Boot Application" {
rectangle Controllers <<Spring REST controllers>>
rectangle DataStoreService <<Spring service>>
rectangle Repository <<Spring repository>>
}
User --> Controllers
ThirdPartyApp --> Controllers
storageAlias --> Controllers
Controllers --> DataStoreService
DataStoreService --> Repository
@enduml
@@ -1,3 +0,0 @@
@startuml
listopeniconic
@enduml
@@ -1,27 +0,0 @@
@startuml
!includeurl https://raw.githubusercontent.com/inthepocket/plantuml-styles/master/styles.plantuml!0
!include <logos/flask>
!include <logos/kafka>
!include <logos/kotlin>
!include <logos/cassandra>
title Gil Barbara's logos example
' skinparam monochrome true
rectangle "<$flask>\nwebapp" as webapp
queue "<$kafka>" as kafka
rectangle "<$kotlin>\ndaemon" as daemon
database "<$cassandra>" as cassandra
webapp -> kafka
kafka -> daemon
daemon --> cassandra
database "Database"
package "Package"
node "ParentNode" {
component "Subcomponent"
}
@enduml
@@ -1,41 +0,0 @@
@startmindmap
!includeurl https://cdn.jsdelivr.net/gh/HSLdevcom/hsl-plantuml-theme/hsl-theme.iuml
title Crosscutting Concepts
+ Crosscutting Concepts
++ Under the hood
+++ Persistence
+++ Process Control
+++ Transaction handling
+++ Session handling
+++ Communication and Integration
+++ Exception and error handling
+++ Parallelization / Threading
+++ Plausibility checks and validation
+++ Business Rules
+++ Batch
+++ Reporting
++ Operation Concepts
+++ Administration
+++ Management
+++ Disaster-Recovery
+++ Skalierung
+++ Clusterring
+++ Monitoring, Logging, Protocolling
+++ High Availability
-- Domain Concepts
-- Architecture and Design Patterns
-- User Experience (UX)
--- User Interface
--- Ergonomics
--- Internationalization
-- Security and Safety
--- Security
--- Safety
-- Development Concepts
--- Build, Test, Deploy
--- Code generation
--- Migration
--- Configurability
@endmindmap
@@ -1,35 +0,0 @@
@startuml
'!includeurl https://cdn.jsdelivr.net/gh/HSLdevcom/hsl-plantuml-theme/hsl-theme.iuml
'!define LIGHTBLUE
'!includeurl https://raw.githubusercontent.com/Drakemor/RedDress-PlantUML/master/style.puml
'!includeurl https://github.com/rbkmoney/plantuml-toolset/raw/master/skin.iwsd
'!includeurl https://raw.githubusercontent.com/inthepocket/plantuml-styles/master/styles.plantuml!0
!includeurl https://github.com/rbkmoney/plantuml-toolset/raw/master/super-serious-skin.iwsd
skinparam BackgroundColor #ffffff
title Publish(er) Jobs Workers (Successful Block Copy)
hide footbox
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
Alice -> Bob: Another authentication Request
Alice <-- Bob: Another authentication Response
Alice -> Bob: Authentication Request
...
Bob --> Alice: Authentication Response
activate Alice
note left of Alice
Drink that potion!
end note
deactivate Alice
activate Bob
... 5 minutes later ...
Bob --> Alice: Bye!
deactivate Bob
@enduml
@@ -1,3 +0,0 @@
@startuml
listsprites
@enduml
@@ -1,3 +0,0 @@
@startuml
testdot
@enduml
-25
View File
@@ -1,25 +0,0 @@
:doctitle: Fineract Documentation
include::config.adoc[]
= Fineract Documentation
IMPORTANT: @vidakovic migrate old documentation!
.Amazon
[plantuml,amazon,svg]
----
include::diagrams/samples/amazon.puml[]
----
.C4 Diagram
[plantuml,c4,svg]
----
include::diagrams/samples/c4.puml[]
----
.Mindmap
[plantuml,mindmap,svg]
----
include::diagrams/samples/mindmap.puml[]
----