{"_id":"@codenarration/create-nexanode","name":"@codenarration/create-nexanode","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@codenarration/create-nexanode","version":"1.0.0","description":"CLI tool for creating NexaNode projects","bin":{"create-nexanode":"dist/cli/index.js"},"scripts":{"build":"tsc","prepublishOnly":"npm run build","prepare":"npm run build"},"keywords":["node","typescript","framework","express","mongodb","cli"],"author":{"name":"Your Name"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/shahinadev/NexaNode.git"},"bugs":{"url":"https://github.com/shahinadev/NexaNode/issues"},"homepage":"https://github.com/shahinadev/NexaNode#readme","dependencies":{"@types/fs-extra":"^9.0.13","@types/mongoose":"^5.11.97","@types/ora":"^3.2.0","bcrypt":"^5.1.0","chalk":"^4.1.2","class-transformer":"^0.5.1","class-validator":"^0.14.0","commander":"^8.3.0","compression":"^1.7.5","cookie-parser":"^1.4.6","cors":"^2.8.5","express":"^4.18.2","fs-extra":"^10.1.0","helmet":"^6.0.1","jsonwebtoken":"^9.0.0","mongoose":"^7.0.0","morgan":"^1.10.0","ora":"^5.4.1","rate-limiter-flexible":"^2.4.1","reflect-metadata":"^0.1.13","swagger-jsdoc":"^6.2.8","swagger-ui-express":"^5.0.1","typeorm":"^0.3.12","winston":"^3.8.2"},"devDependencies":{"@types/bcrypt":"^5.0.0","@types/compression":"^1.7.5","@types/cookie-parser":"^1.4.3","@types/cors":"^2.8.13","@types/express":"^4.17.17","@types/jsonwebtoken":"^9.0.1","@types/morgan":"^1.9.9","@types/node":"^16.11.7","@types/swagger-jsdoc":"^6.0.4","@types/swagger-ui-express":"^4.1.7","typescript":"^4.5.2"},"main":"index.js","directories":{"example":"example"},"_id":"@codenarration/create-nexanode@1.0.0","gitHead":"6a9602478aa9e2f7e30c77d288f3c9702bbe3221","_nodeVersion":"22.13.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-85csd7sStIKCakEcvJ6tU+tbH6RdEIzkw5Ah9ZPa1fiD7HvpSlpytMGlvHECJC/Bsel4tb4GKz4/Gjo1qdcc9Q==","shasum":"63006e40a3c68c0303154871cc2bb88995edbc8a","tarball":"https://registry.npmjs.org/@codenarration/create-nexanode/-/create-nexanode-1.0.0.tgz","fileCount":83,"unpackedSize":84106,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdEZuthFsLH5CVktrEW9CtFeDADuhegKNq7+9XYuudOwIhAKXVX4ISX50lI1LPiXJ7j4Q5+e5WQrXQd1UUqQMJIRA8"}]},"_npmUser":{"name":"codenarration","email":"ceh.shahin@gmail.com"},"maintainers":[{"name":"codenarration","email":"ceh.shahin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/create-nexanode_1.0.0_1737464027644_0.35966688972829375"},"_hasShrinkwrap":false}},"time":{"created":"2025-01-21T12:53:47.542Z","1.0.0":"2025-01-21T12:53:47.815Z","modified":"2025-01-21T12:53:48.096Z"},"maintainers":[{"name":"codenarration","email":"ceh.shahin@gmail.com"}],"description":"CLI tool for creating NexaNode projects","homepage":"https://github.com/shahinadev/NexaNode#readme","keywords":["node","typescript","framework","express","mongodb","cli"],"repository":{"type":"git","url":"git+https://github.com/shahinadev/NexaNode.git"},"author":{"name":"Your Name"},"bugs":{"url":"https://github.com/shahinadev/NexaNode/issues"},"license":"MIT","readme":"# NexaNode Backend Framework\n\nA modern, TypeScript-based backend framework built on Node.js, designed for creating scalable, maintainable, and type-safe applications with ease.\n\n## 🚀 Core Features\n\n- **Type-Safe Architecture**: Built with TypeScript for enhanced developer experience and compile-time safety\n- **Decorator-Based Routing**: Intuitive API design using decorators for clean and maintainable code\n- **Base Classes**: Extensible `BaseController` and `BaseRepository` for consistent patterns\n- **Authentication & Authorization**: Built-in JWT authentication with middleware support\n- **Database Integration**: Seamless TypeORM integration with PostgreSQL\n- **Rate Limiting**: Configurable request rate limiting to protect your APIs\n- **Error Handling**: Comprehensive error management system with custom error types\n- **Logging**: Structured logging system using Winston\n- **Middleware Support**: Flexible middleware system for request processing\n- **Migration Tools**: Built-in database migration scripts and utilities\n\n## 🛠️ Tech Stack\n\n- **Runtime**: Node.js\n- **Language**: TypeScript\n- **Web Framework**: Express.js\n- **Database**: PostgreSQL\n- **ORM**: TypeORM\n- **Authentication**: JWT\n- **Logging**: Winston\n- **Request Validation**: Class Validator & Class Transformer\n\n## 📦 Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/yourusername/nexanode.git\n\n# Install dependencies\nnpm install\n```\n\n## 🔧 Configuration\n\n1. Create a `.env` file in the root directory\n2. Configure your environment variables:\n\n```env\nPORT=3000\nNODE_ENV=development\nDB_HOST=localhost\nDB_PORT=5432\nDB_USERNAME=your_username\nDB_PASSWORD=your_password\nDB_DATABASE=your_database\nJWT_SECRET=your_jwt_secret\n```\n\n## 🚀 Quick Start\n\n```typescript\n// Example Controller\nimport { Controller, Get, Post } from \"../decorators/route\";\nimport { BaseController } from \"../core/BaseController\";\n\n@Controller(\"/users\")\nexport class UserController extends BaseController {\n  @Get(\"/\")\n  async getUsers() {\n    return { message: \"Users retrieved successfully\" };\n  }\n\n  @Post(\"/\")\n  async createUser() {\n    return { message: \"User created successfully\" };\n  }\n}\n```\n\n## 📚 Project Structure\n\n```\nsrc/\n├── config/          # Configuration files\n├── controllers/     # API Controllers\n├── core/           # Framework core classes\n├── decorators/     # TypeScript decorators\n├── entities/       # TypeORM entities\n├── middleware/     # Express middleware\n├── repositories/   # Data access layer\n├── scripts/        # Utility scripts\n├── types/          # TypeScript type definitions\n└── utils/          # Helper utilities\n```\n\n## 🔒 Security Features\n\n- JWT-based authentication\n- Rate limiting protection\n- Request validation\n- Secure error handling\n- Type-safe operations\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## 📝 License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n","readmeFilename":"README.md"}