Add mapX/mapY to City for SVG map positioning; add description,
minLevel, rewardItemId/Quantity to Mission; add named relations
MissionRequiredItem and MissionRewardItem on Item. Seed updated
with Italian city coordinates.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Set up authenticated Socket.IO server; broadcasts market updates,
world events, and mission notifications to connected clients in
real time.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add node-cron jobs for periodic market price updates, mission
generation, and world event generation; all wired through a central
scheduler module.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add routes and services for all game domains: market buy/sell with
dynamic pricing, mission generation and completion, player stats and
travel, inventory queries, leaderboard, city list, and world events.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Implement registration and login endpoints with bcrypt password
hashing and JWT token issuance; all game routes depend on this.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Define Prisma schema (Player, City, Good, InventoryItem, Transaction,
Mission, WorldEvent), initial migration SQL, and seed script to
populate cities and goods with base game data.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add package.json (Fastify, Prisma, Redis, JWT), TypeScript config,
Dockerfile, docker-compose with Postgres and Redis services, and
.gitignore with data directory rules.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>