API Server
This a backend API service of the voluntary information collection and sharing platform to fight against the 2019-nCoV outbreak in Wuhan and the world.
The API is designed to be thin and stateless. It relies on the data collected and validated by other sub-projects, transform and expose them through standard RESTful APIs. The service is written in Python and Flask.
Get Started
Please first clone this repository and the sub-module-repo by:
git clone https://github.com/wuhan2020/api-server
cd api-server
git clone https://github.com/wuhan2020/wuhan2020
Running locally with Docker (Recommended)
Pre-requisite: You have to have Docker client installed on your machine.
Build the Docker image
Run:
docker build -t api-server:default .
from the root directory of the clone of this repo. Note this step could take a long time depends on where you are located in.
Run built Docker image
Run:
docker run --name api-server --publish 9000:9000 api-server:default
and then open http://localhost:9000
in your browser. (Add -d
to run the Docker container in detach/background mode)
You should see a Swagger page documents the available endpoints now.
If you ran into error The container name "/api-server" is already in use
, please run docker rm api-server
to delete previous container which has the same name.
Stop running Docker container
Run:
docker stop api-server
to stop the running container.
Running with your own Python environment
Please make sure you have Python3.6 installed, (ideally you should be using a VirtualEnv or something like PyEnv). Then from the root directory of the cloned repo, run:
pip install -U -r requirements.txt
and then start the server by:
bash bootstrap
now if you open http://localhost:9000
in your browser, you should see a Swagger page documents the available endpoints.
Contributing Guide
Please see Conntributing Guide for more information about this project.
Front-end issues
Please check here