OhMyGame
OhMyGame is the open-source studio for making games with AI. Design, build, playtest, and publish games in one app, with your own model keys.
View all EVE Online character and corp assets, journals, market orders
Translation pending
AI summary · website content
GamesTypeScript · PLpgSQLGitHub @philihpOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗An ERP for your EVE Online corp salvaged from abandoned Edencom hardware, Link will pull character and corp ESI data into a time-series postgres database for historical tracking and real-time data window sharing across your alliance, corp, or just for your own spreadsheets.
.node-version)pnpm install
This spins up Postgres, the Supabase API/Auth/Storage services, and Studio in Docker,
all scoped to this repo's supabase/ directory:
pnpm exec supabase start
The first run downloads Docker images and can take a few minutes. When it finishes it prints local URLs and keys, including:
API URL — your SUPABASE_URL / NEXT_PUBLIC_SUPABASE_URLanon key — your SUPABASE_KEY / NEXT_PUBLIC_SUPABASE_ANON_KEYservice_role key — your SUPABASE_SERVICE_KEYStudio URL — a local dashboard (defaults to http://localhost:54323) for browsing
tables and data while you developYou can print these again at any time with pnpm exec supabase status.
The app's schema isn't managed by supabase db push for local setup — schema.sql at
the repo root is the single source of truth and a full reset. Apply it directly to the
local database (default local connection string shown; get the exact one from
supabase status if you changed ports):
psql "postgresql://postgres:[email protected]:54322/postgres" -f schema.sql
You can re-run this any time you want to reset local data back to an empty schema.
Incremental migrations under supabase/migrations/ are for evolving a database that
already has data (e.g. a deployed environment) — a fresh local database doesn't need
them, since schema.sql already reflects their combined effect.
Copy the example file and fill in your own values:
cp .env.example .env
EVE_CLIENT_ID / EVE_SECRET_KEY / EVE_CALLBACK_URL — from your EVE Online
developer application. Set the callback URL there to match EVE_CALLBACK_URL
(e.g. http://localhost:3000/character/callback for local dev), and request at
least the ESI scopes the extract jobs use (assets, blueprints, wallet, industry
jobs, location, clones, implants).SUPABASE_PROJECT_REF — only needed for pnpm run db:push against a real hosted
Supabase project; leave it blank for local-only development.SUPABASE_URL / SUPABASE_KEY / SUPABASE_SERVICE_KEY — the API URL, anon key,
and service_role key printed by supabase start (step 2).NEXT_PUBLIC_SUPABASE_URL / NEXT_PUBLIC_SUPABASE_ANON_KEY — same API URL and anon
key, exposed to client components.SUPABASE_USERNAME / SUPABASE_PASSWORD — can be left blank for local development.FLAGS_SECRET — any base64-encoded 32-byte secret, e.g. openssl rand -base64 32.CRON_SECRET — only used by deployed Vercel Cron; any placeholder value works
locally since nothing checks it outside of /api/cron/* routes.pnpm run dev
This starts the Next.js dev server at http://localhost:3000. The app reads SDE
lookups and the ship-fitting protobuf data straight from Supabase at runtime (the
nightly-mirrored sde_* tables and the esf_data table) — there's no build-time SDE
download or generation step anymore. If your Supabase esf_data table is empty, run
pnpm run esf-data once to populate it (or trigger the sde-mirror workflow), so the
ship-fit wheel on /ship/[itemId] has data to serve at /esf/.
Sign in with your EVE Online character to register it, then trigger a manual refresh
from /character/refresh to pull data in via the extract jobs (see below) — nothing is
fetched automatically until a job runs.
Each ESI endpoint has its own extract job under src/jobs/, runnable directly with its
npm script, e.g.:
pnpm run character-assets
pnpm run character-wallet
pnpm run corp-structures
These read tokens from the local database and write results back to it — run the dev
server (or at least sign in once to register a character/token) before running jobs. In
production these are scheduled via Vercel Cron (see vercel.json and
src/app/api/cron/); locally you run them ad hoc from the CLI or trigger them from the
/character/refresh page's "Refresh ESI" buttons, which enqueue the same jobs.
pnpm run lint — ESLintpnpm run pretty — Prettier, formats src/pnpm run db:new <name> — scaffold a new migration under supabase/migrations/pnpm exec supabase stop — stop the local Supabase stackpnpm exec supabase db reset — drop and recreate the local database from
supabase/migrations/ (use schema.sql per step 3 instead if you just want a clean
slate matching the current schema)There is no automated test suite for this project.