Noderplate is a boilerplate for Node.js projects, providing a well-structured foundation for building scalable and maintainable applications. It includes a setup with TypeORM, Fastify, and other essential tools for development.
- TypeORM Integration: Simplifies database interactions with a TypeScript ORM.
- Fastify: A high-performance framework for Node.js.
- Modular Architecture: Clean separation of concerns with a well-defined structure.
- Environment Configuration: Managed via dotenv.
- TypeScript: Strongly typed development environment.
- Pre-configured Tooling: Includes ESLint, Prettier, Husky, and more for code quality and consistency.
- Node.js (>= 14.x)
- pnpm (>= 6.x)
- Docker (for database setup)
-
Clone the repository:
git clone https://github.com/Figaarillo/noderplate.git cd noderplate
-
Install dependencies:
pnpm install
-
Set up environment variables:
cp .env.dev .env # Update .env with your configuration
-
Run the database using Docker:
docker-compose up -d
To start the development server:
pnpm run dev
To build the project:
pnpm run build
To generate new migrations:
pnpm run migration:generate
To run migrations:
pnpm run migration:run
To lint the code:
pnpm run lint
To format the code:
pnpm run prettier
To run tests:
pnpm run test
.
├── src
│ ├── main.ts # Application entry point
│ ├── shared # Shared modules and utilities
│ │ ├── config
│ │ ├── domain
│ │ └── utils
│ └── user # User domain-related modules
│ ├── aplication
│ ├── domain
│ └── infrastructure
├── docker-compose.yml # Docker configuration
├── package.json # Project configuration and scripts
└── tsconfig.json # TypeScript configuration
Contributions are welcome! Please follow the code of conduct and submit pull requests for any enhancements or bug fixes.
This project is licensed under the MIT License.