krPOS is Point Of Sales for "Kriol" Markert
ℹ️
|
WILL NOT follow future version of Unicenta oPOS |
-
Only database properties will be available from file, other properties should be saved on database
-
database.1.url, database.1.username, database.1.password
-
Should not be stored on database anymore, but provided on specific jar and available on classpath
-
on OSGI those resource can be easily updated as fragment of bundle kiolos-pos-resource
-
Migration tools
-
Liquidbase (I have Experience)
-
Obevo https://github.com/goldmansachs/obevo (No Experience)
About Java SPI available since Java 1.5 (eg: Used in JDBC driver loading)
ResourceLoader, ResourceProvider resource:file:// resource:db:// resource:classpath:// |
PaymentGatewayProvider |
Separate event publisher, event handling and script execution to distint component
-
EventPublisher
-
EventHandler
-
ScriptRunnerEventHandler
-
AppContext
-
Has some Objects Generic/Global always available such: DeviceInfo (Where POS is running)
-
Has specific Context (
-
-
Modularity
-
OSGI 7 (I have experience) core, compendium, …
-
Netbeans Platform (I have No Experience, great UI component, but must be maven/gradle)
-
Eclipse Platform (I little experience, great UI component, but must be maven/gradle)
-
-
ScriptEngine:
-
Kotlin(kts)
-
groovy (but may not included, just for testing/evaluation)
-
Modularity of code base (impl should provide default implementation)
-
krospos-core-api
-
krospos-core-impl
-
krospos-gui-api
-
krospos-gui-core
-
krospos-data-api
-
krospos-data-impl
docker run --name unicenta -p 3306:3306 -d -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=unicenta -e MYSQL_USER=unicenta -e MYSQL_PASSWORD=unicenta mysql:5.6
Currently GUI is Swing based on Netbeans GUI Designer which use XML to create UI and generate Swing Java code.
GUI Framework
-
Swing
-
Eclipse SWT
-
JavaFX
-
TornadoFX - Build on top of JavaFX
-
Jetbrains Compose for Desktop
-
Do Test Coverage with
-
JaCoCo coverage tool, used to measure how many lines of our code are tested.
-
OpenClover (code coverage tool for Java, Groovy and AspectJ)
-
-
Do Static Source Code Analysis with
-
PMD
-
-
Do Bytecode Analysis with
-
SpotBugs (Alternative to FindBug) and Find Security Bugs
-
-
Do project has strict code style guidelines with
-
Checkstyle maven-checkstyle-plugin
-
-
Do Scan your Dependencies for Vulnerabilities with
-
OWASP Dependency Check
-
Dependency-Check is a Software Composition Analysis (SCA) tool suite
-
-
mvn org.owasp:dependency-check-maven:check -Dformat=CSV mvn org.owasp:dependency-check-maven:aggregate -Dformat=CSV
mvn clean install jacoco:prepare-agent jacoco:report mvn clean jacoco:prepare-agent install jacoco:report