Skip to content
HarveyPunsalanPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

PesZO

Paper-trading + budget simulator for students practicing before a first salary. Open to all. Simulated wallets, no real money.

Status: v1 in progress. No live URL yet.

Features

  • Onboarding with Peso validation. Amount to simulate plus category toggles and custom entries. Saved locally, no login wall.
  • Dashboard with burn math. Free cash versus locked cash, per-day runway, leftover marked ready to trade, plus a spend-versus-invest line.
  • Market sim over 8 symbols (PSE + crypto). PSE hours, board lots, fees, and spread enforced. Live real-clock mode plus a sim-time sandbox with separate wallets.
  • Order ticket with server-computed totals. Market plus day-only limit orders with expiry and cancel. Gross, fee, cash left, and position size shown before confirm, plus a one-line reason saved to the journal.
  • Immutable journal with CSV export. Filled orders are never edited. Filter by win, loss, or symbol.
  • Starter lessons bound to your numbers. Accountancy basics shown through your own cash and expense rows.

Stack

  • SvelteKit 5, Hono, Bun. Monorepo with client, server, shared.
  • Drizzle, Supabase Postgres + Auth. Row-level rules plus app-side owner checks.
  • Tailwind, shadcn-svelte, @lucide/svelte, lightweight-charts.
  • Resend, Cloudflare, Sentry.

Getting Started

bun install
cp .env.example .env
bun run db:push
bun run dev

Scripts

Command Runs
bun install Install
bun run build Build
bun run lint Lint
bun test Tests

Env

Name Used for
SUPABASE_URL API endpoint
SUPABASE_ANON_KEY Client key
DATABASE_URL Pooler connection
DIRECT_URL Migration connection
RESEND_API_KEY Auth email
APP_URL Links in email

Reference by name only. Never commit values.

Structure

client/
  modules/
    onboarding/
    dashboard/
    market/
    ticket/
    journal/
    lessons/
    settings/
  lib/
    ui/
    charts/
server/
  modules/
    auth/
    sim-settings/
    wallets/
    market/
    orders/
    holdings/
    ledger/
    expenses/
    lessons/
    journal/
  common/
shared/
  contracts/
  db/
  engine/
docs/
  DECISIONS.md
  activity-log.md
task/
  task.md

Web never imports db directly. Money writes go through one transaction covering orders, holdings, and ledger.

Quality Gates

  • bun run lint + bun test pass before a slice counts as done.
  • Money math runs server-side. Client sends intent only.
  • Proof rows with locked=true reject all writes.
  • OWASP L1 bar pre-release: strict headers, free baseline scan, rate-limit proof. Details in docs/DECISIONS.md.

Docs

  • Decisions and tradeoffs: docs/DECISIONS.md.
  • v1 slices in build order: task/task.md.
  • Session memory: docs/activity-log.md.

Roadmap

  • v1: onboarding, dashboard, market, ticket, journal.
  • v2: RSI, GTC orders, delayed-real feed, Google login.
  • v3: narrow AI coach over lessons and journals.

License

MIT.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors