Goals on various levels - noi-techpark/documentation GitHub Wiki

Goals until the end of 2018

To all of us

This is a work-in-progress page. That is, we need to update it accordingly during our work, or it will get deprecated soon. It should give us a more granular view on how we perform, and what should (and should not) be done in the next sprints. Please help to keep it up-to-date. It is also important, that you read it to have a common understanding on our goals and please fix wrong items ASAP. Thanks! :-)

End of April

  • [DONE] Air quality data collector
  • [DONE] GTFS roadmap

End of May

  • A22 data collector
  • Air quality data collector extended with open data services

End of June (First milestone for the Hackathon)

High-level Goal

Give hackers the possibility to play with the mobility and tourism API. Show them only open data without any need of authentication, that implies we need to hide restricted data sources from their view. Hackers need to have a low friction on learning how to use the APIs and how to create an initial application as fast as possible, hence we need tutorials, running showcases (prototypes as open source) and documentation. Finally, they should use a single point of entry to all data sources, the broker should therefore be at least up and running.

Low-level goals

  • Developer website v0.1 (April and May)
    • Create an initial web page for developers with a list of available services and access to their Swaggers - API doc and tutorial published on developer website
      • What should be on the first version? -- the 'first' version available by the end of June will contain:

        • ODH project overview w/ domains and API
        • Tutorial that explains how to access data through the API
        • "how to contribute" pages for users, App developers and Core Hacker
        • Tutorial for a Core Hacker to set up a workstation and develop for ODH
        • ODH and Big Data Platform architecture
      • Which tutorials exactly?

        • Basic tutorial for data access through APIs (via curl, HTTPS)
        • Tutorial for Core Hackers
        • Tutorial to use authentication
      • Define a list of chosen services that must be present until June

    • Prototypes used on the web page
      • Make them open source (if not already)
      • (low priority) Add a short description and a screenshot
      • (low priority) Implement their CI and TA pipelines
      • Put them in production
      • Check if they work without authentication
      • Make it clear that they are just a proof-of-concept (on web page or in a README)
  • Open as many closed-source data providers as possible, that is, get closed data as CC0 if possible
  • API v0.1 (as we had it on the whiteboard)
    • Implement authentication to hide non-open data sources
      • [DONE ON TESTING] User/role managed through SQL usable for mobility APIs only
        • Filters associated to roles to hide certain measurements from the view, i.e., (station, type, period)
      • Tourism gives just a special user/role for all hackers
    • Broker v0.1 beta
      • API to get data from the Google Spreadsheet filtered by tags
      • Jenkins: CI and TA pipelines
      • Document it (internally and on the web page)
      • Create a tutorial for it
    • Mobility Data APIs v0.1 beta
      • We need to define which web-services must be present
      • For each chosen web-service:
        • Implement CI and TA pipelines
        • Implement some simple test cases to be used in pipelines
        • Put it in production
        • Document it
        • Create tutorials for it specifically (or also generic for all of them together)
        • Add documentation, data-source explanations and links to its swagger to the developer web page
        • (low priority) Add example prototypes (if any) that show its usage in action (screenshots?)
    • Tourism Data APIs v0.1 beta
      • Special user/role to see only open data sources from tourism
      • Anything else?

Nice-to-have goals

  • Jenkins: Production server pipeline for deployment (PD) for web-services and big-data-platform core modul
  • Broker: Returns data as JSON-LD (initial work done with Markus, hence feasible)
  • Authentication: Common user/role manager usable for tourism and mobility APIs (Backend)
  • Authentication: Common user/role manager usable for tourism and mobility APIs (GUI)

TO DO to complete this chapter

  • Define a list of services that can be used during the Hackathon
  • Define a list of services that must have tutorials
  • Define a list of services that should be open-data until the Hackathon
  • Define a list of prototypes that should be present on the developer website
  • Add/remove (low priority) markers
  • Answer questions mentioned above

Backlog without ordering

  • Goals on various levels - Continuous Development Framework v0.1 beta
  • Continuous delivery
    • Secure Jenkins to make it accessible from outside IDM
    • Jenkins scripts to setup third party applications as Pimcore plugins on AWS with docker
    • Jenkins scripts to setup third party applications as Android app
    • Jenkins scripts to setup third party applications as iOS app
  • Testing framework
  • Landing pages
    • Pimcore Architecture on AWS with docker
  • Authentication
    • Common roles that support CRUD specifications
    • GDPR compliant user management also for personal data
    • Authentication provider
  • APIv2 used at HackTheAlps Hackathon (September)
  • API exposes data as JSON-LD (July)
  • NOI today display
  • GTFS
    • Document to understand issues and to define who is responsible for them exactly
  • 4-star linked data
  • AlpineBits certified server (October) ::: What is the difference with AlpineBits API?
  • GDPR Compliance Guideline v1.0
  • License & SLA Policy v1.0
  • Data Privacy Management Policy v0.1 beta
  • Cyber Security & Impact Assessment Policy v0.1 beta
  • Software Architecture Guideline v0.1 beta
  • File sharing like Nextcloud
  • Keepass for keys and passwords
  • Peter suggests: Monitoring framework (to understand what is up and running, and where we have problems)

Goals until the end of 2019

Backlog without ordering

  • Software architecture to store raw data before integrating it into the ODH measurements (NoSQL or PG-to-PG)
  • AlpineBits API v0.1 beta
  • Knowledge Graph POC v0.1 beta
  • Amazon Alexa POC v0.1 beta
  • Culture Data APIs v0.1 beta
  • (must be done 2018) Authentication APIs v0.1 beta
  • Datasets & Data Format Study v0.1 beta
  • CMS v0.1 beta == Digitalprojekt Südtirol ???
  • Chatbot POC v0.1 beta
  • Google Home POC v0.1 beta
  • AI POC v0.1 beta