Skip to content

berdal84/biostack

Repository files navigation

Frontend CI Backend CI

Biostack

This project is a client/server to manage Biotech Data. It is implemented using FastAPI and NextJS, with a Postgres database. Code is written in Python and TypeScript.

This project is deployed at https://biostack.42borgata.com/

Note: this project is an exercise

Quick Start

To install and start the app, we rely on a bash script and docker compose.

Install

Prerequisites:

  • docker and docker-compose must be installed

Run ./biostask.sh install and follow the instructions.

Start

Run ./biostask.sh start and follow the instructions.

Road Map

General

  • Add more fields on a sample detail (notes, tags, etc.)
  • Permissions: add a user table and credentials on the API
  • Use multipart/form-data to upload a sample (name, type,..., and file! )
  • Allow to upload file using third party services (S3, google drive, etc)
  • Deploy on a VPS
  • Allow http only (for dev purposes) in addition to https

Frontend

  • Implement file upload on the UI
  • Highlight items in the light, so user can understand they are clickable.
  • Add small icon-buttons to edit/delete/view a sample (only visible when row is hovered)
  • Improve feedback when user create/edit.
  • Allow to add a file during creation.

Backend

  • Add postres and fastapi to the existing docker-compose.yml
  • Use Github Actions's services to run pytest with postgres
  • Limit upload to 1MB
  • Setup Alembic to handle DB upgrades