0.8.0 • Published 1 year ago

bananest v0.8.0

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

1 year ago

0.7.1

1 year ago

0.7.0

1 year ago

0.5.3

1 year ago

0.5.0

1 year ago

0.5.2

1 year ago

0.6.0

1 year ago

0.5.1

1 year ago

0.4.24

1 year ago

0.4.22

1 year ago

0.4.21

1 year ago

0.4.8

1 year ago

0.4.19

1 year ago

0.4.10

1 year ago

0.4.17

1 year ago

0.4.18

1 year ago

0.4.16

1 year ago

0.4.14

1 year ago

0.4.12

1 year ago

0.4.4

1 year ago

0.4.6

1 year ago

0.4.1

1 year ago

0.4.0

1 year ago

0.4.3

1 year ago

0.4.2

1 year ago

0.3.0

1 year ago

0.2.7

1 year ago

0.2.6

1 year ago

0.2.3

1 year ago

0.3.1

1 year ago

0.2.2

1 year ago

0.2.5

1 year ago

0.2.4

1 year ago

0.2.1

1 year ago

0.2.0

1 year ago