View Issue Details

IDProjectCategoryView StatusLast Update
0005888libeufinGeneralpublic2023-01-08 10:33
ReporterFlorian Dold Assigned ToMarcello Stanisci  
PriorityurgentSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Target Version0.9.0Fixed in Version0.9.0 
Summary0005888: create project skeleton for libeufin and sandbox
DescriptionThe sandbox and the rest of libeufin should live in the same repository for now.

In particular:

* it should be a kotlin project (you can use IntelliJ to create it)
* the build system must be gradle (https://gradle.org/)
  (the IntelliJ template should offer gradle as an option!)
* gradle should be used to manage all dependencies (Ktor, XML libraries, ...)
* create demo HTTP server using Ktor (https://github.com/ktorio/ktor), which should answer the ebicsHEVRequest.
* to allow our testing, the sandbox should just print request messages it doesn't understand into a log file
* the incoming messages should be validated using the EBICS *.xsd schema files (it's probably best to start with EBICS 3.0), with whatever XML validation library is appropriate.
* the sandbox service should be deployed to libeufin@gv, which might require the installation of some additional packages (JVM, Kotlin).

Other things we need to choose include:
* database bindings for kotlin (to talk to postgres)
TagsNo tags attached.

Activities

Marcello Stanisci

2019-09-11 16:25

reporter   ~0014888

Last edited: 2019-09-11 16:26

import ktor into gradle: https://ktor.io/quickstart/quickstart/gradle.html

Florian Dold

2019-09-12 13:36

manager   ~0014890

Some other things that need to be part of the skeleton:

* A readme that explains the steps to build and run the sandbox server (using the command line, not IntelliJ)
* The license (AGPL)
* License headers

Marcello Stanisci

2019-09-12 16:56

reporter   ~0014892

fixed here 5818bd6..aaa7ada.

Florian Dold

2019-09-12 19:53

manager   ~0014893

I don't see the XML request+response schema validation yet.

The "RUN" file should also be just called "README", since that's the standard name where everybody looks!

And ideally, the server should already be able correctly respond to the "version request" EBICS message. Then it's a good starting point for further investigating the protocol.

Marcello Stanisci

2019-09-12 22:43

reporter   ~0014894

Native Java library offering crypto for XML:
https://www.oracle.com/technetwork/articles/javase/dig-signatures-141823.html#intro

Marcello Stanisci

2019-09-19 02:09

reporter   ~0014921

Initial setup completed here: 3c51352..08b9a9d

Florian Dold

2019-09-19 14:47

manager   ~0014923

Since there will be *lots* of sharing between sandbox and nexus, there should really only be one repository.

We can have multiple entry points still for sandbox, nexus and various tools

Florian Dold

2019-09-19 16:10

manager   ~0014925

Also, the Kotlin Coding Style should be followed, and ideally enforced via the ktlint tool.

Marcello Stanisci

2019-10-01 13:41

reporter   ~0014970

Last edited: 2019-10-01 13:42

Coding style was manually reviewed, but not ktlint-ed. Given that linting is something that makes _always_ sense to do, I don't think the linter part should keep this bug still open. Shall we close it?

Florian Dold

2019-10-03 16:17

manager   ~0014974

Looks good to me.

Issue History

Date Modified Username Field Change
2019-09-10 18:40 Florian Dold New Issue
2019-09-10 18:40 Florian Dold Status new => assigned
2019-09-10 18:40 Florian Dold Assigned To => Marcello Stanisci
2019-09-10 18:43 Florian Dold Description Updated
2019-09-10 18:43 Florian Dold Description Updated
2019-09-10 18:51 Florian Dold Description Updated
2019-09-10 18:52 Florian Dold Description Updated
2019-09-10 18:53 Florian Dold Description Updated
2019-09-11 16:25 Marcello Stanisci Note Added: 0014888
2019-09-11 16:26 Marcello Stanisci Note Edited: 0014888
2019-09-12 13:31 Florian Dold Project Taler => libeufin
2019-09-12 13:31 Florian Dold Category libeufin => General
2019-09-12 13:36 Florian Dold Note Added: 0014890
2019-09-12 16:56 Marcello Stanisci Note Added: 0014892
2019-09-12 16:56 Marcello Stanisci Status assigned => resolved
2019-09-12 16:56 Marcello Stanisci Resolution open => fixed
2019-09-12 19:53 Florian Dold Note Added: 0014893
2019-09-12 19:53 Florian Dold Status resolved => assigned
2019-09-12 22:43 Marcello Stanisci Note Added: 0014894
2019-09-19 02:09 Marcello Stanisci Note Added: 0014921
2019-09-19 02:13 Marcello Stanisci Status assigned => resolved
2019-09-19 14:47 Florian Dold Status resolved => assigned
2019-09-19 14:47 Florian Dold Note Added: 0014923
2019-09-19 16:10 Florian Dold Note Added: 0014925
2019-10-01 13:41 Marcello Stanisci Status assigned => feedback
2019-10-01 13:41 Marcello Stanisci Note Added: 0014970
2019-10-01 13:42 Marcello Stanisci Note Edited: 0014970
2019-10-03 16:17 Florian Dold Status feedback => resolved
2019-10-03 16:17 Florian Dold Note Added: 0014974
2023-01-08 10:33 Christian Grothoff Target Version => 0.9.0
2023-01-08 10:33 Christian Grothoff Fixed in Version => 0.9.0
2023-01-08 10:33 Christian Grothoff Status resolved => closed