Local Deployment · Quick Start

Running AV Studio Locally

How to start the AV Studio Python server on your machine and reach every page in the app. There is no build step and no front-end framework — just Python.

Runs at http://127.0.0.1:8000/  ·  Project folder: AV-Studio

Prerequisites

You only need Python. The app is served by a small Python HTTP server; the front end is vanilla JavaScript with no bundler.

WhatDetails
PythonPython 3.x (3.12+ recommended)
InternetRequired for the proxied API routes (/profiles, /design, /schemas…) that call Oracle ORDS.
Flask optionalOnly needed for the Map Factory page. The server boots fine without it — see Map Factory setup below.

1Start the server

Open a terminal and run these two lines from the project root:

# go to the project folder
cd AV-Studio

# start the server
python3 server.py

This single command starts both servers — AV Workbench and, if Flask is installed, the Map Factory subprocess. A healthy startup prints two lines:

Startup lineMeaning
Serving on http://127.0.0.1:8000 open thisAV Workbench — the URL you actually open in your browser.
Map-Factory UI ready at http://127.0.0.1:5500 internalFactory subprocess. Do not open port 5500 directly — reach it through the /factory/* proxy on port 8000.

Then open the app: http://127.0.0.1:8000/ — the links below only work once the server is running.

3Stop the server

In the terminal running the server, press:

Ctrl + C

AV Workbench's shutdown handler cleanly terminates the Map Factory subprocess too, so you don't need to stop port 5500 separately.

4Configuration

Host & port

Edit these constants near the top of server.py:

HOST = '127.0.0.1'
PORT = 8000

ORDS base URL

The Oracle ORDS base resolves from av_config.py (AV_BASE), and can be overridden per deployment with an environment variable before you start the server:

export AV_STUDIO_AV_BASE='https://<host>/ords/<schema>/avw'
python3 server.py

Map Factory settings

Factory subprocess & metadata DB settings live in factory_proxy.py: MAP_FACTORY_HOST, MAP_FACTORY_PORT, MAP_FACTORY_METADATA_DB.

Note: don't modify server.py's proxy config or API endpoints without explicit instruction.

5Map Factory setup first time only

The Map Factory page needs Flask and companions. If they aren't installed, the app still boots normally — the Maps tab's "Open Map Factory →" link just returns a 502 with install hints until you run:

pip install -r factory/requirements.txt

Then restart the server. From the user's point of view there is still one URL (port 8000) and one process to start.

6Run the tests

A small Python unittest suite lives in tests/:

python3 -m unittest discover -s tests

Typical startup

  1. Open a terminal and cd into the AV-Studio project folder.
  2. Run python3 server.py and wait for the two "Serving on…" lines.
  3. Open http://127.0.0.1:8000/ — or any page above — in your browser.
  4. When finished, return to the terminal and press Ctrl + C.

Troubleshooting

SymptomFix
Blank data or errors in the UICheck the server console (the terminal running python3 server.py); verify internet / API access to ORDS.
Port 8000 already in useChange PORT in server.py, restart, and browse to the new port.
Map Factory link returns 502Run pip install -r factory/requirements.txt, then restart the server.
Factory subprocess port conflict (5500)Change MAP_FACTORY_PORT in factory_proxy.py.
Where are the logs?There is no log file — logs are written to stdout/stderr of the terminal running server.py.