# CaseForge CS-style case opening site with virtual credits, inventory, leaderboard, and an admin panel for cases / drops / rates. ## Stack - **Server**: Node.js, Express, Prisma, SQLite, express-session - **Client**: React (Vite), React Router ## Setup ```bash npm run install:all npm run db:push npm run db:seed npm run dev ``` - App: http://localhost:5173 - API: http://localhost:3001 ## Demo accounts | Role | Username | Password | |-------|----------|------------| | Admin | `admin` | `admin123` | | Player| `player` | `player123`| New registrations receive **100.00** starting credits (`STARTING_BALANCE` in `server/.env`, stored in cents). ## Features - Login / register (username + password) - Dashboard: inventory + available cases - Case page with CS-style reel open animation (result rolled server-side) - Leaderboard: richest players (balance + inventory market value) - Admin: manage cases, items, drop weights, enable/disable cases ## Notes - Balances and prices are integers in **cents** - `Transaction` types include `open_case` and `seed_credit` (stubs for future `deposit` / `withdrawal`) - Swap `DATABASE_URL` to PostgreSQL later without changing app logic