krPOS is Point Of Sales for "Kriol" Markert
|
ℹ️
|
WILL NOT follow future version of Unicenta oPOS |
-
COMPAIBLE: Unicenta DB SCHEMA 4.5
-
Changes SHOULD be smoth as possible
-
FOCUS/PRIMAR: Point Of Sales (Small/Med Retail Business, On Shop,).
-
other SHOULD be provide as integration with ERP such as: Idempiere; Apache OFBiz,
-
-
Evaluate Pattern: Mode View ViewModel(MVVM), Model View Control(MVC)
-
Compose for Desktop (Kolin DSL):
-
OpenJX (XML)
-
Supported on: Netbeans Platform
-
AppContext
-
Provide info abou current App Instance: provide b underline infra: OSGI; Netbeans Platform
-
DI Container, etc…
-
User (Provide info about authenticated User and permission’s
-
Host (Provide info about host running the POS)
-
File (Encr Password, KeyStorage, )
-
Abstract Config Acess (SHOULD be based on MicroProfile Config SPEC)
-
Only database properties SHOULD be available on file (Properies File)
-
database.1.url, database.1.username, database.1.password
Contextual Config on Database (KVP)
-
AppConfig:
-
HosConfig:
APP Resource (Customization)
-
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
-
| Name | Evaluate? | Reference |
|---|---|---|
JPA (JQL/HQL) |
- |
|
JPA wih JPAStreamer: |
- |
|
Reladomo ORM |
- |
| Name | Evaluate? | Reference |
|---|---|---|
Liquidbase |
X (CHOSED) |
- |
Obevo |
- |
EventSystem Concepts: Event, EventPublisher, EventHandler
-
EventPublisher
-
EventHandler
-
EX: ScriptRunnerEventHandler
-
ScriptEngine
-
ScriptEngine:
-
Kotlin(kts)
-
groovy (but may not included, just for testing/evaluation)
-
Frameworks
-
OSGI 7 (core, compendium, …): NON-UI Componen/Modules
-
Netbeans Platform v12+(): UI Modules, Update, Distribuition
Modularity of code base: API, Reference Implementation(impl)
-
krospos-core-api
-
krospos-core-impl
-
krospos-gui-api
-
krospos-gui-core
-
krospos-data-api
-
krospos-data-impl
About Java SPI available since Java 1.5 (eg: Used in JDBC driver loading)
ResourceLoader, ResourceProvider resource:file:// resource:db:// resource:classpath:// |
PaymentGatewayProvider |
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/Toolkit
-
Java Swing (Migra
-
Jetbrains Compose for Desktop
-
Netbeans Platform
-
(Property Change Event and Listener)
-
Windows System API (Behaviors: Docking; floating, moving/positioning; Persist state between restart)
-
Node Explore View
-
JFXPanel (allow to use JavaFX content)
-
-
JavaFX (Web View,
-
TornadoFX (Build on top of JavaFX, But comple
-
Eclipse SWT
Swing Libraries
-
SwingX
-
… (TO BE REMOVED)
GUI Test
-
FEST (Deprecate) use AssertJ (Swing Module)
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)
Static Source Code Analysis with
-
PMD
-
SpotBugs (Alternative to FindBug) and Find Security Bugs
Project has strict code style guidelines with
-
Checkstyle maven-checkstyle-plugin
Scan your Dependencies for Vulnerabilities with
-
OWASP Dependency Check
-
Dependency-Check is a Software Composition Analysis (SCA) tool suite
-
Performance and
-
SoapUI (API Testing Tooling)
-
Gatlin
-
JMeter
-
Locust (Python Based)
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
-
@author Mikel Irurita
-
@author jaroslawwozniak
-
@author adrianromero (adrian)
-
@author JG uniCenta (jack gerrard, jack)
-
@author HS uniCenta
-
@author Ryan Airey
-
@author Ali Safdar and Aneeqa Baber
-
@author jaroslawwozniak
-
@author Luis Ig. Bacas Riveiro lbacas@opensistemas.com
-
@author Pablo J. Urbano Santos purbano@opensistemas.com
-
@author Xibergy Systems
-
@author JA
-
@author poolborges
-
@author Teodor Danciu (teodord@users.sourceforge.net)