0.8.0 • Published 4 months ago

bananest v0.8.0

Weekly downloads
-
License
MIT
Repository
-
Last release
4 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

4 months ago

0.7.1

5 months ago

0.7.0

5 months ago

0.5.3

5 months ago

0.5.0

5 months ago

0.5.2

5 months ago

0.6.0

5 months ago

0.5.1

5 months ago

0.4.24

5 months ago

0.4.22

5 months ago

0.4.21

5 months ago

0.4.8

5 months ago

0.4.19

5 months ago

0.4.10

5 months ago

0.4.17

5 months ago

0.4.18

5 months ago

0.4.16

5 months ago

0.4.14

5 months ago

0.4.12

5 months ago

0.4.4

5 months ago

0.4.6

5 months ago

0.4.1

5 months ago

0.4.0

5 months ago

0.4.3

5 months ago

0.4.2

5 months ago

0.3.0

6 months ago

0.2.7

6 months ago

0.2.6

6 months ago

0.2.3

6 months ago

0.3.1

6 months ago

0.2.2

6 months ago

0.2.5

6 months ago

0.2.4

6 months ago

0.2.1

6 months ago

0.2.0

6 months ago