Initial commit: Shattered Void MMO foundation
- Complete PostgreSQL database schema with 21+ tables - Express.js server with dual authentication (player/admin) - WebSocket support for real-time features - Comprehensive middleware (auth, validation, logging, security) - Game systems: colonies, resources, fleets, research, factions - Plugin-based combat architecture - Admin panel foundation - Production-ready logging and error handling - Docker support and CI/CD ready - Complete project structure following CLAUDE.md patterns 🤖 Generated with Claude Code (https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
commit
1a60cf55a3
69 changed files with 24471 additions and 0 deletions
106
package.json
Normal file
106
package.json
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
{
|
||||
"name": "shattered-void-mmo",
|
||||
"version": "0.1.0",
|
||||
"description": "Shattered Void - A post-collapse galaxy MMO strategy game",
|
||||
"main": "src/server.js",
|
||||
"scripts": {
|
||||
"dev": "nodemon --inspect=0.0.0.0:9229 src/server.js",
|
||||
"start": "node src/server.js",
|
||||
"test": "jest --verbose --coverage",
|
||||
"test:watch": "jest --watch --verbose",
|
||||
"test:integration": "jest --testPathPattern=integration --runInBand",
|
||||
"test:e2e": "jest --testPathPattern=e2e --runInBand",
|
||||
"lint": "eslint src/ --ext .js --fix",
|
||||
"lint:check": "eslint src/ --ext .js",
|
||||
"db:migrate": "knex migrate:latest",
|
||||
"db:rollback": "knex migrate:rollback",
|
||||
"db:seed": "knex seed:run",
|
||||
"db:reset": "knex migrate:rollback:all && knex migrate:latest && knex seed:run",
|
||||
"db:setup": "createdb shattered_void_dev && npm run db:migrate && npm run db:seed",
|
||||
"setup": "node scripts/setup.js",
|
||||
"docker:build": "docker build -t shattered-void .",
|
||||
"docker:run": "docker-compose up -d",
|
||||
"docker:dev": "docker-compose -f docker-compose.dev.yml up -d",
|
||||
"logs": "tail -f logs/combined.log",
|
||||
"logs:error": "tail -f logs/error.log",
|
||||
"logs:audit": "tail -f logs/audit.log"
|
||||
},
|
||||
"dependencies": {
|
||||
"bcrypt": "^5.1.1",
|
||||
"compression": "^1.7.4",
|
||||
"connect-redis": "^7.1.0",
|
||||
"cookie-parser": "^1.4.6",
|
||||
"cors": "^2.8.5",
|
||||
"dotenv": "^16.3.1",
|
||||
"express": "^4.18.2",
|
||||
"express-rate-limit": "^7.1.5",
|
||||
"express-session": "^1.17.3",
|
||||
"express-validator": "^7.0.1",
|
||||
"express-ws": "^5.0.2",
|
||||
"helmet": "^7.1.0",
|
||||
"joi": "^17.11.1",
|
||||
"jsonwebtoken": "^9.0.2",
|
||||
"knex": "^3.0.1",
|
||||
"lodash": "^4.17.21",
|
||||
"moment": "^2.29.4",
|
||||
"node-cron": "^3.0.3",
|
||||
"nodemailer": "^6.9.7",
|
||||
"pg": "^8.11.3",
|
||||
"rate-limit-redis": "^4.2.1",
|
||||
"redis": "^4.6.11",
|
||||
"socket.io": "^4.8.1",
|
||||
"uuid": "^9.0.1",
|
||||
"validator": "^13.15.15",
|
||||
"winston": "^3.11.0",
|
||||
"winston-daily-rotate-file": "^4.7.1",
|
||||
"ws": "^8.14.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/jest": "^29.5.8",
|
||||
"eslint": "^8.56.0",
|
||||
"eslint-config-node": "^4.1.0",
|
||||
"eslint-plugin-jest": "^27.6.0",
|
||||
"eslint-plugin-node": "^11.1.0",
|
||||
"jest": "^29.7.0",
|
||||
"nodemon": "^3.0.2",
|
||||
"supertest": "^6.3.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.0.0",
|
||||
"npm": ">=9.0.0"
|
||||
},
|
||||
"keywords": [
|
||||
"mmo",
|
||||
"strategy",
|
||||
"game",
|
||||
"nodejs",
|
||||
"postgresql",
|
||||
"redis",
|
||||
"websocket"
|
||||
],
|
||||
"author": "Shattered Void Development Team",
|
||||
"license": "UNLICENSED",
|
||||
"private": true,
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/your-org/shattered-void-mmo.git"
|
||||
},
|
||||
"jest": {
|
||||
"testEnvironment": "node",
|
||||
"collectCoverageFrom": [
|
||||
"src/**/*.js",
|
||||
"!src/server.js",
|
||||
"!src/database/migrations/**",
|
||||
"!src/database/seeds/**"
|
||||
],
|
||||
"coverageDirectory": "coverage",
|
||||
"coverageReporters": [
|
||||
"text",
|
||||
"lcov",
|
||||
"html"
|
||||
],
|
||||
"testMatch": [
|
||||
"**/tests/**/*.test.js"
|
||||
]
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue