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