wikidatacomplete / wikidatacomplete-backend Goto Github PK
View Code? Open in Web Editor NEWapis for wikidatacomplete
License: MIT License
apis for wikidatacomplete
License: MIT License
once we complete #10, these tests should run every time a pull request is filed, to make sure that existing APIs are not breaking due to new changes.
AS a data donor, I want to upload my data using a Web UI or a RESTful Web API.
As a developer, I want to see existing facts.
GET /facts/Q1106
)we need to implement Oauth via Wikidata instead of MediaWiki
The new WikidataComplete web service needs to be compatible with the old one.
flowchart LR;
subgraph firstiteration["first iteration"]
direction LR
WikidataGadget[["existing\nWikidataComplete\ngadget"]] -- Restful\nrequest --> NewService["new\nWikidataComplete\nweb service"]
NewService -- Restful\nrequest --> ExistingWikidataComplete[["existing WikidataComplete\nweb service"]]
NewService -- store\nprocess\ninformation --> Database[(Database to store\n additional information\nabout the process,\ne.g., the actions per user)]
NewService -- deploy\nautomatically --> DeployServer
DeployServer>http://demos.swe.htwk-leipzig.de/ ]
end
style firstiteration fill:#fff,stroke:#333
style WikidataGadget fill:#ccf,stroke:#333
style ExistingWikidataComplete fill:#cfc,stroke:#333
style NewService fill:#fcf,stroke:#333
style Database fill:#ffc,stroke:#333
style DeployServer fill:#cff,stroke:#333
Thereafter, we will allow data donations.
flowchart LR;
subgraph seconditeration["later iteration"]
direction LR
WikidataGadget[["existing\nWikidataComplete\ngadget"]] -- Restful\nrequest --> NewService["new\nWikidataComplete\nweb service"]
ExistingWikidataComplete[["existing WikidataComplete\nweb service"]] -- donates Wikidata\nfact candidates\nvia Restful request --> NewService
NewService -- store\nprocess\ninformation --> Database[(Database to store\n additional information\nabout the process,\ne.g., the actions per user)]
NewService -- deploy\nautomatically --> DeployServer
DeployServer>http://demos.swe.htwk-leipzig.de/ ]
end
style seconditeration fill:#fee,stroke:#333
style WikidataGadget fill:#ccf,stroke:#333
style ExistingWikidataComplete fill:#cfc,stroke:#333
style NewService fill:#fcf,stroke:#333
style Database fill:#ffc,stroke:#333
style DeployServer fill:#cff,stroke:#333
@D063520 @gabinguo Please provide an API description of the existing web service (green)
@lalit97 Please implement the new web service (magenta) which is a wrapper for the existing web service (green) (see also #11 )
(skipped) @lalit97 create a Dockerfile for the new web service (magenta)
(skipped) @lalit97 after having finished the new web service inform @MindMaster98, he will provide a GitHub action to deploy the new service automatically to the demos server (cyan)
@lalit97 the API was documented using OpenAPI
(skipped) @lalit97 make application parameters configurable via argparser
or similar (see example)
the implemented functionality is tested (automatically) using a unit test
the version of the artifact was incremented (using Semantic Versioning -- ask @anbo-de if you are unsure what increment should be used) and documented here in a comment (use GitHub releases functionality)
0.1.0
the documentation was checked and was updated if necessary, updated documentations are linked here in a comment
the corresponding commit was mentioned here in a comment
As a user of a WikidataComplete Web UI, I want to log in using my Wikimedia account.
Remark: An OAuth2 mechanism would be preferred.
POST API endpoint needs an example in the Open API description.
DoD: A user can instantly recognize by an example how to use the data donation API works.
As per discussion with Andreas and Guo last to last week, we need 2 new fields in the table for implementing accept, and reject APIs and showing question text.
(1) feedback field for collecting feedback from editors
default = None
can be None/True/False
correct/ published (old schema) --> feedback (new schema)
(correct or published fields from the old schema should be mapped with feedback in the new schema for the existing fact records)
published = True -> Feedback = True (current date)
published = False -> Feedback = False (current date)
published = None -> Feedback = None (we have not received feedback yet. date = empty)
example feedback = {"feedback_date": 01-01-22, "feedback": boolean, "user_id": wdtId}
(2) question (old schema) --> meta_information (new schema)
meta_information = { # replacement for question field
"question": "" # current, donations can have anything
}
(optional for this milestone)
Static files not loading on Toolforge due to which swagger docs and DRF browsable APIs are loading HTML only.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.