The src
directory contains code to build the software. Here, you can find the frontend
and backend
folders.
For Evaluators of this project that only need to run the app, refer to this section.
-
Make sure your local machine has installed the following requirements:
- Git
- Node.js® v18.12.1 or higher
- PNPM
npm install --global pnpm
- Python 3.9.6 or higher
-
Clone this repository
D:> git clone https://github.com/blankeos/scoliovis.git D:> cd scoliovis\src
-
Setup the frontend:
🎨 scoliovis-web
# 1. Go to frontend D:\scoliovis\src> cd frontend # 2. Install dependencies D:\scoliovis\src\frontend> pnpm install # 3. Run the server on http://localhost:3000 D:\scoliovis\src\frontend> pnpm build D:\scoliovis\src\frontend> pnpm start
-
Setup the backend
⚡ scoliovis-api
# 1. Go to backend D:\scoliovis\src> cd backend # 2. Create a virtual environment D:\scoliovis\src\backend> python -m venv venv # 3. Activate virtual environment # - If you're on Windows Command Prompt D:\scoliovis\src\backend>venv\Scripts\activate (venv) D:\scoliovis\src\backend> # your cursor should look like this # - If you're on Mac or Git Bash /d/scoliovis/src/backend> source venv/Scripts/activate (venv) /d/scoliovis/src/backend> # your cursor should look like this # 4. Install dependencies (venv) D:\scoliovis\src\backend> pip install -r requirements.txt # 5. Download keypointsrcnn_weights and put inside scoliovis\src\backend\models: https://github.com/Blankeos/scoliovis-training/releases # 6. Run the server on http://0.0.0.0:8000 (venv) D:\scoliovis-api> uvicorn main:app
For Researchers interested in improving upon or recreating our project, we recommend reading this section to help you train the model from the beginning, the same way we did.
-
Follow our instructions on training at
🏋️♂️ scoliovis-training
-
Save and rename the model to
keypointsrcnn_weights.pt
. -
Follow the setup instructions for evaluators.
-
Before running the scoliovis-api, move
keypointsrcnn_weights.pt
to thescoliovis-api/models/
directory.
Aside from this scoliovis
monorepo, we also split our code into 3 different repositories: scoliovis-web
, scoliovis-api
, and scoliovis-training
. You can optionally play around with these if you'd like:
🎨
scoliovis-web - Front End⚡
scoliovis-api - Back End Repository🏋️♂️
scoliovis-training - Model Training Repository