0.8.0 • Published 10 months ago

bananest v0.8.0

Weekly downloads
-
License
MIT
Repository
-
Last release
10 months ago

🐱🍌 BanaNest

BanaNest is a lightweight dependency injection framework inspired by NestJS started as an educational project to understand modern framework architectures, but aims to evolve into a lightweight alternative for applications that need:

  • A simplified dependency injection system
  • Clean architectural patterns
  • Type-safe decorators
  • Modular structure without the overhead of larger frameworks

🎯 Purpose

This project is a study implementation that recreates core functionalities found in NestJS, focusing on:

  • Understanding how dependency injection works under the hood
  • Implementing decorators for routing and DI container
  • Creating a modular architecture system
  • Building HTTP abstractions similar to NestJS controllers

🏗️ Core Concepts Implemented

Dependency Injection

  • Custom DI container implementation
  • Constructor injection using decorators
  • Singleton and transient lifetime management
  • Circular dependency detection

Decorators

  • Dependency injection: @Inject(token or class)
  • Routing: @Controller(prefix)
  • HTTP methods: @Get(path), @Post(path), @Put(path), @Delete(path), @Patch(path)

Modular Architecture

  • Module system for organizing code
  • Feature modules with their own providers
  • Shared modules and services

🚀 Getting Started

# With npm
`npm install bananest`

# With yarn
`yarn add bananest`

🔧 Technical Stack

  • TypeScript
  • Node.js
  • Vitest for testing
  • Express.js (as underlying HTTP server)

🤝 Contributing

While BanaNest started as a learning project, we welcome contributions! Whether you're fixing bugs, adding features, or improving documentation.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Inspired by NestJS architecture and patterns
  • Built with both learning and practical usage in mind
  • Named after Bananinha the cat! 🐱
0.8.0

10 months ago

0.7.1

10 months ago

0.7.0

10 months ago

0.5.3

10 months ago

0.5.0

10 months ago

0.5.2

10 months ago

0.6.0

10 months ago

0.5.1

10 months ago

0.4.24

11 months ago

0.4.22

11 months ago

0.4.21

11 months ago

0.4.8

11 months ago

0.4.19

11 months ago

0.4.10

11 months ago

0.4.17

11 months ago

0.4.18

11 months ago

0.4.16

11 months ago

0.4.14

11 months ago

0.4.12

11 months ago

0.4.4

11 months ago

0.4.6

11 months ago

0.4.1

11 months ago

0.4.0

11 months ago

0.4.3

11 months ago

0.4.2

11 months ago

0.3.0

12 months ago

0.2.7

12 months ago

0.2.6

12 months ago

0.2.3

12 months ago

0.3.1

12 months ago

0.2.2

12 months ago

0.2.5

12 months ago

0.2.4

12 months ago

0.2.1

12 months ago

0.2.0

12 months ago