volunteer-database

Overview

This is the official CSM (Crowd source medical) database

Python CI Node.js CI

The What Now?

We created this in light of the COVID-19 pandemic to allow volunteers to work together in tackling the shortage of ventilator equipments.

We're just getting started so the documentation may still be lacking. Feel free to point out any issues in our Discord channel.

Communication

General

Discord: https://discord.gg/8dGbA5G

Ticketing

Frontend: https://trello.com/b/4EqWn2Pt/csm-frontend

Backend: https://trello.com/b/plYXa1AI/csm-backend

UI/UX: https://trello.com/b/ZmElMiHV/cms-ui-ux-mockups

DevOps: https://trello.com/b/ggGTsmr8/csm-devops

Onboarding and Team Assignments: https://trello.com/b/lcE3lFLO/csm-onboarding-and-team-assignment

The Tech Stack

Backend: FastAPI, PostgreSQL

Frontend: React, Material UI, Cypress (for E2E-testing)

Environment: Docker, Docker Compose

Project Setup

Installing Docker

Run the following commands

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Find instructions to install docker-compose here: https://docs.docker.com/compose/install/

Running the Project

Run the following commands

docker-compose build
docker-compose up -d # The flag -d leaves the process in the background. Feel free to omit it.

The frontend is now be accessible at localhost:3001. The backend is now accessible at localhost:8000.

The backend might crash the first time, this is because a bug in the db image. Simply run docker-compose up (-d) again and it should work.

Populating the database

Once the database is setup we will be providing a database dump with some users etc in it. To update the database simply run

./restore-database base.pgdump

Incase you want to make a snapshot of your db to share run the following

./dump-database

How to Contribute

General

  • Branch names are encouraged to use the following format: <username>/<feature>
  • PRs are recommended to be reviewed by at least one person
  • If you find an issue without a Trello card, feel free to add it. It is encouraged to write an informative description about the issue so that basically anyone could start working on it.

Contributing to the Frontend Development

Frontend tasks can be found here: https://trello.com/b/4EqWn2Pt/csm-frontend.

  1. Pull Frontend/Staging
  2. git checkout -b <username>/<feature>
  3. Write a new Trello card or take an existing one, assign yourself into it, and move it to the "In Development" column
  4. Code like never before, pour your heart into it, communicate with people, have fun
  5. git push -u origin <username>/<feature>
  6. Open a PR against Frontend/Staging and request at least one reviewer.
    • PR description should mention relevant information about dependencies, blockers, etc...
  7. Add a link to the PR in the Trello card, and move it to the "Ready for Review" column
  8. Enjoy

If you don't have a permission to push, you can either request it from the Discord channel, or fork the project and open a PR with your changes in it.

Contributing to the Backend Development

WIP

A Prometheus Python client library for asyncio-based applications

aioprometheus aioprometheus is a Prometheus Python client library for asyncio-based applications. It provides metrics collection and serving capabilit

132 Dec 28, 2022
sample web application built with FastAPI + uvicorn

SPARKY Sample web application built with FastAPI & Python 3.8 shows simple Flask-like structure with a Bootstrap template index.html also has a backgr

mrx 21 Jan 03, 2022
JSON-RPC server based on fastapi

Description JSON-RPC server based on fastapi: https://fastapi.tiangolo.com Motivation Autogenerated OpenAPI and Swagger (thanks to fastapi) for JSON-R

199 Dec 30, 2022
FastAPI Learning Example,对应中文视频学习教程:https://space.bilibili.com/396891097

视频教学地址 中文学习教程 1、本教程每一个案例都可以独立跑,前提是安装好依赖包。 2、本教程并未按照官方教程顺序,而是按照实际使用顺序编排。 Video Teaching Address FastAPI Learning Example 1.Each case in this tutorial c

381 Dec 11, 2022
signal-cli-rest-api is a wrapper around signal-cli and allows you to interact with it through http requests

signal-cli-rest-api signal-cli-rest-api is a wrapper around signal-cli and allows you to interact with it through http requests. Features register/ver

Sebastian Noel Lübke 31 Dec 09, 2022
Auth for use with FastAPI

FastAPI Auth Pluggable auth for use with FastAPI Supports OAuth2 Password Flow Uses JWT access and refresh tokens 100% mypy and test coverage Supports

David Montague 95 Jan 02, 2023
更新 2.0 版本,使用 Python WEB 高性能异步框架 FastAPI 制作的抖音无水印解析下载,采用前后端分离思想!

前言 这个是 2.0 版本,使用现在流行的前后端分离思想重构。 体验网址:https://douyin.bigdataboy.cn 更新日志 2020.05.30:使用 FastAPI 前后端分离重构 2020.05.02:已更新,正常使用 2020.04.27:抖音结构更新,已修复视频有水印。(失

64 Nov 25, 2022
MLServer

MLServer An open source inference server to serve your machine learning models. ⚠️ This is a Work in Progress. Overview MLServer aims to provide an ea

Seldon 341 Jan 03, 2023
python fastapi example connection to mysql

Quickstart Then run the following commands to bootstrap your environment with poetry: git clone https://github.com/xiaozl/fastapi-realworld-example-ap

55 Dec 15, 2022
Adds integration of the Jinja template language to FastAPI.

fastapi-jinja Adds integration of the Jinja template language to FastAPI. This is inspired and based off fastapi-chamelon by Mike Kennedy. Check that

Marc Brooks 58 Nov 29, 2022
A Python pickling decompiler and static analyzer

Fickling Fickling is a decompiler, static analyzer, and bytecode rewriter for Python pickle object serializations. Pickled Python objects are in fact

Trail of Bits 162 Dec 13, 2022
Recommend recipes based on what ingredients you have at home

🌱 MyChef 📦 Overview MyChef is an application that helps you decide what meal to make based on what you have at home. Simply enter in ingredients you

Logan Connolly 44 Nov 08, 2022
TODO aplication made with Python's FastAPI framework and Hexagonal Architecture

FastAPI Todolist Description Todolist aplication made with Python's FastAPI framework and Hexagonal Architecture. This is a test repository for the pu

Giovanni Armane 91 Dec 31, 2022
A simple web to serve data table. It is built with Vuetify, Vue, FastApi.

simple-report-data-table-vuetify A simple web to serve data table. It is built with Vuetify, Vue, FastApi. The main features: RBAC with casbin simple

11 Dec 22, 2022
🤪 FastAPI + Vue构建的Mall项目后台管理

Mall项目后台管理 前段时间学习Vue写了一个移动端项目 https://www.charmcode.cn/app/mall/home 然后教程到此就结束了, 我就总感觉少点什么,计划自己着手写一套后台管理。 相关项目 移动端Mall项目源码(Vue构建): https://github.com/

王小右 131 Jan 01, 2023
The template for building scalable web APIs based on FastAPI, Tortoise ORM and other.

FastAPI and Tortoise ORM. Powerful but simple template for web APIs w/ FastAPI (as web framework) and Tortoise-ORM (for working via database without h

prostomarkeloff 95 Jan 08, 2023
An image validator using FastAPI.

fast_api_image_validator An image validator using FastAPI.

Kevin Zehnder 7 Jan 06, 2022
I'm curious if pydantic + fast api can be sensibly used with DDD + hex arch methodology

pydantic-ddd-exploration I'm curious if pydantic + fast api can be sensibly used with DDD + hex arch methodology Prerequisites nix direnv (nix-env -i

Olgierd Kasprowicz 2 Nov 17, 2021
Backend Skeleton using FastAPI and Sqlalchemy ORM

Backend API Skeleton Based on @tiangolo's full stack postgres template, with some things added, some things removed, and some things changed. This is

David Montague 18 Oct 31, 2022
A simple docker-compose app for orchestrating a fastapi application, a celery queue with rabbitmq(broker) and redis(backend)

fastapi - celery - rabbitmq - redis - Docker A simple docker-compose app for orchestrating a fastapi application, a celery queue with rabbitmq(broker

Kartheekasasanka Kaipa 83 Dec 19, 2022