Skip to content

OsafAliSayed/crypto-dashboard

Repository files navigation

Crypto Dashboard (Plain JavaScript)

What this repo contains (delivered):

  • Next.js app (plain JavaScript) with Tailwind CSS for styling (shadcn-like UI).
  • Dark mode toggle.
  • Supabase (email/password) auth wiring (copy-paste ready).
  • CoinGecko integration (top 5 by market cap) with auto-refresh every 30s.
  • 7-day sparkline charts using Chart.js.
  • Electron wrapper and electron-builder config to produce executables for Windows/macOS/Linux.

Important limitations (read)

  • I cannot host the web app or run packaging inside this chat environment. This ZIP contains the full project and scripts. You must run the build/packaging steps locally to create platform executables.
  • Supabase project creation is not done for you. Follow steps below to create a Supabase project and seed a demo user.

Quick start (development)

  1. Unzip the repo and cd crypto-dashboard.
  2. Copy .env.example -> .env.local and fill values:
    • NEXT_PUBLIC_SUPABASE_URL
    • NEXT_PUBLIC_SUPABASE_ANON_KEY
  3. Install:
    npm install
  4. Start dev server:
    npm run dev
  5. Open http://localhost:3000 — you should see the dashboard. To run Electron dev (after the web server starts), use:
    npm run electron:dev

Build web

npm run build:web

Package desktop apps (after building)

  • Make sure you have platform-specific tooling for macOS and Windows packaging if needed.
  • Example (all platforms):
npm run package:all

Or per-platform:

npm run package:win
npm run package:mac
npm run package:linux

Supabase setup & demo user

  1. Create a Supabase project at https://app.supabase.com/.
  2. In Project Settings -> API get the anon key and project URL; place them in .env.local.
  3. Run the SQL in seed/seed.sql (or use the SQL editor) to create a demo user (email/password).
    • Demo credentials in this repo: demo@local.test / Password123!

Notes about shadcn/ui

  • The repo is styled with Tailwind and follows shadcn design patterns. To add official shadcn components, run:
    npx shadcn-ui init
    npx shadcn-ui add button dialog
    
    and follow their docs. The UI will still work without this step.

Files of interest

  • pages/index.js — main dashboard
  • lib/supabaseClient.js — Supabase client
  • components/* — UI pieces: Dark toggle, Crypto card, Chart
  • electron/main.js — Electron main process

If you want me to help package or host

  • I can help step-by-step in-chat while you run the commands locally or in CI.

Releases

No releases published

Packages

No packages published