Skip to content

Installation & local setup

Set up Data Explorer the way the current repo works: Prisma Migrate, a NestJS backend, a Vite frontend, and the required environment variables.

Recommended dev setup

Best for day-to-day development: run the app metadata database, backend, and frontend separately for faster debugging.

Docker is optional

Docker is useful if you want a stable local PostgreSQL instance for app metadata. For the current repo, manual setup is still the simplest development path.

Standard local setup

1

Clone the repo and install root + workspace dependencies

Terminal

git clone https://github.com/KasierBach/Data-Explorer-Editor.git

cd Data-Explorer-Editor

npm install

npm install --prefix server

npm install --prefix client

2

Create server/.env

A local run needs an app metadata database, Redis, a strong JWT secret, an encryption key with exactly 32 characters, and `FRONTEND_URL`. OAuth and AI providers are optional.
server/.env

# Required

DATABASE_URL=postgresql://postgres:postgres@localhost:5432/data_explorer_dev?schema=public

JWT_SECRET=replace-with-a-strong-secret-at-least-32-chars

ENCRYPTION_KEY=replace-with-exactly-32-characters

FRONTEND_URL=http://localhost:5173

# Optional compatibility / local rules

LEGACY_ENCRYPTION_KEYS=

ALLOW_INTERNAL_IPS=false

ADMIN_EMAIL=admin@example.com

ADMIN_PASSWORD=your-secure-password

# Optional for AI routing

GEMINI_API_KEY=...

AI_PROVIDER_TIMEOUT_MS=90000

AI_STREAM_IDLE_TIMEOUT_MS=90000

CEREBRAS_API_KEY=...

CEREBRAS_BASE_URL=https://api.cerebras.ai/v1

CEREBRAS_CHAT_MODEL=llama3.1-8b

OPENROUTER_API_KEY=...

OPENROUTER_BASE_URL=https://openrouter.ai/api/v1

OPENROUTER_CHAT_MODEL=

GROQ_API_KEY=...

GROQ_BASE_URL=https://api.groq.com/openai/v1

GROQ_CHAT_MODEL=openai/gpt-oss-120b

BEEKNOEE_API_KEY=...

BEEKNOEE_BASE_URL=https://platform.beeknoee.com/api/v1

BEEKNOEE_CHAT_MODEL=glm-4.7-flash

The AI variables in `server/.env` configure the built-in shared lanes such as Gemini, OpenRouter, Groq, Cerebras, and Beeknoee. If you want to add your own OpenAI-compatible provider, do that after the app boots from `Profile > Configure AI`; that configuration is stored locally on the client machine instead of in the env file.

3

Sync the app schema

The repository includes a committed PostgreSQL migration baseline. Use `migrate deploy` to apply the same schema history in every environment.
Terminal

cd server

npx prisma migrate deploy

4

Run the backend and frontend

Backend

cd server

npm run start:dev

Frontend

cd client

npm run dev

5

Optional: configure AI in the UI

After signing in, open `Profile > Configure AI` to choose separate models for `AI Assistant`, `Explain`, `AI SQL`, `AI NoSQL`, and `Autocomplete`. If you have your own OpenAI-compatible provider, enter its Base URL and API key, then press `Load models` to fetch the model catalog; if the provider does not return a catalog, you can still type the model manually.

Run from the repo root

If you want to boot the whole development stack with one command, the repo root already provides `npm run dev`. Note that this works only after `server/node_modules` and `client/node_modules` have already been installed.
Terminal

npm run dev

Docker notes

Docker is a good fit if you want a stable local metadata database or do not want to install PostgreSQL directly. Compose runs `prisma migrate deploy` automatically; install `server` and `client` dependencies separately when developing outside containers.
Docker

docker-compose up --build -d

Important local URLs

Frontend
http://localhost:5173
API
http://localhost:3001/api
Health
http://localhost:3001/api/health

If the backend refuses to start after env changes, check `JWT_SECRET` and `ENCRYPTION_KEY` first. The backend now fails closed when secrets are weak or wrongly formatted. If you use a cloud database, remember that local networks can block database ports such as 5432, 3306, or 27017.

Build the production image once, run `npx prisma migrate deploy` before startup, and accept traffic only after `/api/health/ready` confirms both the database and Redis are ready.

AI timeout note: the code fallback and the example files in the repo now both use `90000ms`. If you want local/dev to fail faster while debugging, lower that value explicitly for your environment.

Ready to explore data?

Join the community on GitHub to contribute to the smartest local database IDE.

Launch App