Skip to content

Setting Up using Script

Video Setup Guide

Note: Step 8 below is not mentioned in the video; please follow it as well.

Prerequisites

  • NodeJS (LTS Version Recommended)
  • Git version control system

Steps Performed in the Video

  1. Fork the PictoPy repository: https://github.com/AOSSIE-Org/PictoPy

  2. Open your terminal (or Powershell with administrator privileges on Windows)

  3. Clone your forked repository:

git clone https://github.com/yourUsername/PictoPy
  1. Change to the repository directory:
cd PictoPy
  1. Add the main repository as "upstream":
git remote add upstream https://github.com/AOSSIE-Org/PictoPy
  1. Run the Automatic Setup:
npm run setup

The setup script installs the CPU-only onnxruntime package for local development. The release workflow swaps in platform-specific GPU providers, and the onboarding recommendation uses hardware detection rather than ONNX Runtime provider detection.

Note: This step can take a long time depending on your internet connection and system specifications. If the script seems to stop progressing after waiting for more than 10 minutes, press Enter in your terminal window to continue.

  1. Start the Backend Server:

### Windows

cd .\backend
.env\Scripts\Activate.ps1
fastapi dev --port 52123

### Linux

cd ./backend
source .env/bin/activate
fastapi dev --port 52123
  1. Start the Sync-Microservice:

Open a new terminal window, navigate to the project directory, and run:

### Windows (Sync-Microservice)

cd .\sync-microservice
.sync-env\Scripts\Activate.ps1
fastapi dev --port 52124

### Linux (Sync-Microservice)

cd ./sync-microservice
source .sync-env/bin/activate
fastapi dev --port 52124
  1. Start the Frontend Desktop App:

Open a new terminal window, navigate to the project directory, and run:

cd frontend
npm run tauri dev
  1. Pre-commit Setup:

    Before running the git commit command, ensure you have the following Python packages installed globally:

    pip install ruff black mypy pre-commit
    

    Note: If you are committing from a virtual environment, these packages should already be installed as they are included in the requirements.txt file.