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

ReST based network device broker

The Open API Platform for Network Devices netpalm makes it easy to push and pull state from your apps to your network by providing multiple southbound

368 Dec 31, 2022
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
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
Publish Xarray Datasets via a REST API.

Xpublish Publish Xarray Datasets via a REST API. Serverside: Publish a Xarray Dataset through a rest API ds.rest.serve(host="0.0.0.0", port=9000) Clie

xarray-contrib 106 Jan 06, 2023
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
Money Transaction is a system based on the recent famous FastAPI.

moneyTransfer Overview Money Transaction is a system based on the recent famous FastAPI. techniques selection System's technique selection is as follo

2 Apr 28, 2021
Python supercharged for the fastai library

Welcome to fastcore Python goodies to make your coding faster, easier, and more maintainable Python is a powerful, dynamic language. Rather than bake

fast.ai 810 Jan 06, 2023
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
Ready-to-use and customizable users management for FastAPI

FastAPI Users Ready-to-use and customizable users management for FastAPI Documentation: https://frankie567.github.io/fastapi-users/ Source Code: https

François Voron 2.4k Jan 01, 2023
a lightweight web framework based on fastapi

start-fastapi Version 2021, based on FastAPI, an easy-to-use web app developed upon Starlette Framework Version 2020 中文文档 Requirements python 3.6+ (fo

HiKari 71 Dec 30, 2022
Install multiple versions of r2 and its plugins via Pip on any system!

r2env This repository contains the tool available via pip to install and manage multiple versions of radare2 and its plugins. r2-tools doesn't conflic

radare org 18 Oct 11, 2022
An image validator using FastAPI.

fast_api_image_validator An image validator using FastAPI.

Kevin Zehnder 7 Jan 06, 2022
Deploy an inference API on AWS (EC2) using FastAPI Docker and Github Actions

Deploy an inference API on AWS (EC2) using FastAPI Docker and Github Actions To learn more about this project: medium blog post The goal of this proje

Ahmed BESBES 60 Dec 17, 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
A complete end-to-end machine learning portal that covers processes starting from model training to the model predicting results using FastAPI.

Machine Learning Portal Goal Application Workflow Process Design Live Project Goal A complete end-to-end machine learning portal that covers processes

Shreyas K 39 Nov 24, 2022
Online Repo Browser

MSYS2 Web Interface A simple web interface for browsing the MSYS2 repos. Rebuild CSS/JS (optional): cd frontend npm install npm run build Run for Dev

MSYS2 64 Dec 30, 2022
📦 Autowiring dependency injection container for python 3

Lagom - Dependency injection container What Lagom is a dependency injection container designed to give you "just enough" help with building your depen

Steve B 146 Dec 29, 2022
Backend, modern REST API for obtaining match and odds data crawled from multiple sites. Using FastAPI, MongoDB as database, Motor as async MongoDB client, Scrapy as crawler and Docker.

Introduction Apiestas is a project composed of a backend powered by the awesome framework FastAPI and a crawler powered by Scrapy. This project has fo

Fran Lozano 54 Dec 13, 2022
FastAPI + Django experiment

django-fastapi-example This is an experiment to demonstrate one potential way of running FastAPI with Django. It won't be actively maintained. If you'

Jordan Eremieff 78 Jan 03, 2023
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