Our team consists of five passionated guy with different backgrounds.
- Christian: originator and backend guru with SWAGGER
- Stefan: bridgebuilder between business & development, with mobility business and FrontEnd, Backend, IOTA & Ethereum experience
- Benedikt: Stark-ish mechatronic-guy with a soft-spot for JAVA
- Fei: Multi-Ninja on the FrontEnd- and IOTA-side
- Alex: business practioneer with a passion of innovative technologies and a passion for Python
We want to enable companies to enter the mobility market. Our idea is to develop a clear & crisp REST API to ease implementation on company and customer UI. Such way we hope more customer and mobility provider hook up in a distributed mobility ledger.
We use the following technologies in pursuit of mobility happines:
- Apache
- Java
- Node JS
- React
- IOTA JS SDK
- App demo -> how a user can interact with our service, e.g. finding a offer on IOTA from different mobile providers and conclude a contract via IOTA.
- Get payable address of mobile provider
- Publish mobility offer on IOTA
- Backend Java API for mobile provider to publish offers
- SWAGGER (aka OpenAPI)
- Spring Boot
- IntelliJ
- NEOVIM
The Java part of this project is heavily driven by maven. There is a lot of prepossessing going on. Just to point out some steps:
- we define our API from a business point of view, so practically we write our business login into an yaml file (api.yaml) and
- let swagger during the maven preprocessor (compile) transform the yaml into java (by using jaxrs as a framework) code
- how these Java files are actually created depends on swagger templates we overwrite in generator -> resources/RestGenerator, api.mustache is the place some magic happens
- to make it even more nasty, we generate by hand a json out of your self written api.yaml. We also write it into the static folder and make it available for our frontend documentation
- After all, our server get started in its specific sub-project, there you can also find some more REST* implementations
IOTA part provides 3 APIs
- publishing provider mobility offer to IOTA tangle net
node iota/apiPublish.js --payload='{"name": "fei", "test":"again1", "provider": "bmw"}'
- get payable provider address for end user to conduct transaction
node iota/apiGetAccount.js --provider=bmw // possible providers are bmw, vw and db
- authorize and confirm payment