• Stars
    star
    134
  • Rank 270,967 (Top 6 %)
  • Language
    Python
  • License
    MIT License
  • Created almost 5 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

武汉新型冠状病毒防疫信息收集平台后端代理 api-server of Wuhan2020

API Server

Python3.6 Slack Channel Built with love Build Status

中文文档

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.

Tech Arch Diagram

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