first commit

This commit is contained in:
2026-07-16 17:36:21 +02:00
commit a0d7163464
45 changed files with 7481 additions and 0 deletions
+43
View File
@@ -0,0 +1,43 @@
# 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