https://github.com/berdal84/biostack
Fullstack exercise with FastAPI and NextJS
https://github.com/berdal84/biostack
bash compose docker fastapi nextjs postgres
Last synced: 5 months ago
JSON representation
Fullstack exercise with FastAPI and NextJS
- Host: GitHub
- URL: https://github.com/berdal84/biostack
- Owner: berdal84
- Created: 2024-01-15T19:09:30.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-08T15:37:59.000Z (over 1 year ago)
- Last Synced: 2024-11-08T16:36:42.171Z (over 1 year ago)
- Topics: bash, compose, docker, fastapi, nextjs, postgres
- Language: TypeScript
- Homepage:
- Size: 207 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[](https://github.com/berdal84/biostack/actions/workflows/node.js.yml)
[](https://github.com/berdal84/biostack/actions/workflows/python.yml)
# 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.
_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)
- [x] Deploy on a VPS
- [x] Allow http only (for dev purposes) in addition to https
### Frontend
- [x] Implement file upload on the UI
- [x] 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
- [x] Add postres and fastapi to the existing docker-compose.yml
- [x] Use Github Actions's services to run pytest with postgres
- [x] Limit upload to 1MB
- [ ] Setup Alembic to handle DB upgrades