Ga naar hoofdinhoud

SpacetimeDB Installatie

Complete installatie-instructies voor de ontwikkelomgeving.

Vereisten​

SoftwareVersieNodig voor
Rust1.75+Backend compilatie
Node.js20+Admin panel
SpacetimeDB CLI1.0+Database beheer

Stap 1: Rust Installeren​

macOS / Linux​

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env

Windows​

Download en run: https://rustup.rs

WASM Target Toevoegen​

rustup target add wasm32-unknown-unknown

Verificatie​

rustc --version
# rustc 1.75.0 of hoger

Stap 2: SpacetimeDB CLI​

Automatische Installatie​

# macOS / Linux
curl -fsSL https://install.spacetimedb.com | bash

# Windows (PowerShell)
irm https://install.spacetimedb.com/windows | iex

Handmatige Installatie​

Download van: https://github.com/clockworklabs/SpacetimeDB/releases

Verificatie​

spacetime version
# SpacetimeDB CLI version: 1.0.0 of hoger

Stap 3: Node.js (voor Admin Panel)​

Via nvm (aanbevolen)​

# nvm installeren
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

# Node.js installeren
nvm install 20
nvm use 20

Verificatie​

node --version
# v20.0.0 of hoger

npm --version
# 10.0.0 of hoger

Stap 4: Project Opzetten​

Repository Clonen​

git clone https://github.com/corbifex/milenas-cozy-treehouse-club.git
cd milenas-cozy-treehouse-club

Backend Dependencies​

cd server
cargo build

Admin Panel Dependencies​

cd admin
npm install

Stap 5: Lokale SpacetimeDB Server​

Server Starten​

# In een aparte terminal
spacetime start

Dit start een lokale server op http://localhost:3000.

Server Stoppen​

# Ctrl+C in de terminal
# Of:
spacetime stop

Stap 6: Module Publiceren​

Build​

cd server
spacetime build

Publish​

spacetime publish milenas-treehouse --clear-database
Let op

--clear-database wist alle bestaande data. Gebruik alleen tijdens development.

Verificatie​

# Bekijk database info
spacetime describe milenas-treehouse

# Bekijk logs
spacetime logs milenas-treehouse

Development Workflow​

Dagelijkse Ontwikkeling​

# Terminal 1: SpacetimeDB server
spacetime start

# Terminal 2: Backend wijzigingen
cd server
# Na wijzigingen:
spacetime build && spacetime publish milenas-treehouse

# Terminal 3: Admin panel
cd admin
npm run dev

Na Schema Wijzigingen​

Als je tabellen wijzigt, moet je de database clearen:

spacetime publish milenas-treehouse --clear-database

Of migraties schrijven (geavanceerd).


Troubleshooting​

Fout: "spacetime: command not found"​

# Herlaad shell configuratie
source ~/.bashrc # of ~/.zshrc

# Of voeg aan PATH toe
export PATH="$HOME/.spacetime/bin:$PATH"

Fout: "Cannot connect to server"​

# Check of server draait
spacetime status

# Start server opnieuw
spacetime stop
spacetime start

Fout: "WASM build failed"​

# Installeer target opnieuw
rustup target add wasm32-unknown-unknown

# Update Rust
rustup update

Fout: "Module publish failed"​

# Check server logs
spacetime logs milenas-treehouse

# Probeer met clear database
spacetime publish milenas-treehouse --clear-database

IDE Setup​

VS Code Extensions​

Aanbevolen extensions:

  • rust-analyzer - Rust language support
  • Even Better TOML - Cargo.toml support
  • Error Lens - Inline errors

settings.json​

{
"rust-analyzer.cargo.target": "wasm32-unknown-unknown",
"rust-analyzer.checkOnSave.allTargets": false
}

Volgende Stappen​

  1. Lees Module Structuur
  2. Bekijk het Database Schema
  3. Test Reducers