Skip to main content

Welcome to V01T

V01T is a Business Intelligence platform that serves dynamic content via REST APIs. This guide gets you up and running in 10 minutes.

Prerequisites

  • Python 3.9+
  • PostgreSQL 12+
  • Node.js 18+
  • Docker (optional, for local development)

Step 1: Clone and Install

# Clone the repository
gh repo clone v01t-io/server

cd server

# Create virtual environment
python -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Create .env file
cp .env.example .env

Step 2: Configure Database

Update .env with your PostgreSQL credentials:
DATABASE_URL=postgresql://user:password@localhost:5432/v01t_db
Then run migrations:
python api/manage.py migrate

Step 3: Create a Superuser

python api/manage.py createsuperuser
Follow the prompts to create your admin user.

Step 4: Start the Development Server

python api/manage.py runserver
Visit http://localhost:8000/admin and log in with your superuser credentials.

Step 5: Seed Your First Application

V01T includes management commands to quickly set up applications with sample data.

Option A: Seed the Devarno Ecosystem

python api/manage.py seed_ecosystem
This creates:
  • Application: devarno-ecosystem
  • Data source: ecosystem organizations
  • 18 NodeData records from DEVARNO.json

Option B: Seed the Flight Path Blog

python api/manage.py seed_flight_path
This creates:
  • Application: flight-path
  • Data source: blog articles
  • 4 ArtefactData records with sample blog content

Step 6: Access the Public API

V01T exposes a public REST API at /trace/ endpoints.

List all applications

curl http://localhost:8000/trace/applications/

Fetch ecosystem nodes

curl http://localhost:8000/trace/devarno-ecosystem/node/

Fetch blog articles

curl http://localhost:8000/trace/flight-path/artefact/?status=published

Step 7: Connect Your Frontend

Use the @v01t/client TypeScript package in your Next.js app:
import { createV01tClient } from '@v01t/client';

const client = createV01tClient({
  baseUrl: 'http://localhost:8000',
});

// Fetch data
const nodes = await client.getNodes('devarno-ecosystem');
console.log(nodes.data);
See the Integration Guide for more examples.

Step 8: Explore the Admin Interface

The Django admin interface lets you:
  • View all applications and data sources
  • Create and edit components manually
  • Monitor sync status
  • Configure access tokens
Visit http://localhost:8000/admin and explore.

Common Tasks

Register a New Application

See the Integration Guide for step-by-step instructions.

Sync Data from Notion

V01T supports Notion as a data source. Configure in the admin interface:
  1. Get your Notion API token from notion.so/my-integrations
  2. Create a Data Resource of type “Notion”
  3. Link it to a Data Source in your application
  4. Run the sync command:
python api/manage.py appsync --app=my-application

Enable API Access

In the admin interface (http://localhost:8000/admin):
  1. Go to Data Vaults
  2. Select your vault
  3. Check API access enabled
  4. Save
Your vault’s public API is now accessible without authentication.

Environment Variables

Key .env variables:
VariableDescriptionExample
DATABASE_URLPostgreSQL connection stringpostgresql://user:pass@localhost/v01t_db
DEBUGEnable debug modeTrue (dev only)
SECRET_KEYDjango secret keyyour-random-secret
ALLOWED_HOSTSAllowed domainslocalhost,127.0.0.1
NOTION_TOKENNotion API tokensecret_xxxxx
See .env.example for all available options.

Troubleshooting

Migration errors

# Reset database (dev only!)
python api/manage.py flush --no-input

# Re-run migrations
python api/manage.py migrate

Port already in use

# Use a different port
python api/manage.py runserver 8001

API returning 404

  1. Verify the application slug exists: python api/manage.py inspect_sync_sources
  2. Check that the application has active components
  3. Ensure api_access_enabled=True on the vault

Next Steps

Getting Help