Qiskit / platypus

Qiskit Textbook (beta)
https://learn.qiskit.org
Apache License 2.0
143 stars 249 forks source link

Define storage for user data #455

Closed korgan00 closed 3 years ago

korgan00 commented 3 years ago

Related Qiskit/platypus#482

korgan00 commented 3 years ago

IBM cloud prefers new projects using Postgresql as performance tuning is well understood. Also, we can use Mongo, Redis and Elastic Search. We can run with IBM Kubernetes Serice o IBM Cloud Functions.

The data that we have to save is the course[] > chapter[] > step[] > score[]. So we have a data set that can grow (for example, we can add chapters or steps). Also, we will have user data such as theme preference. This is an example of the data that we are currently using.

{
  "introduction": {
    "the-atoms-of-computation": {
      "steps": {
        "step-1": { "scores": ["intro-aoc-1"] }
      },
      "progress":1,
      "completed":true
    },
    "why-quantum-computing": {
      "steps": {
        "step-0":{ 
          "scores":[ "intro-why-qc-1", "intro-why-qc-0"]
        }
      },
      "progress":1,
      "completed":true
    }
  }
}

I think this kind of data suggests Mongo, but there is no problem with building it in Postgresql as it is the preferred DB.

vabarbosa commented 3 years ago

@korgan00 thank you! following our conversation, Mathigon auth/login is by default configured for MongoDB