first commit
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user