Snapx is a modular framework built with Bun, designed to help developers build scalable and maintainable applications. It provides reusable packages for dependency injection, email services, and more.
- Dependency Injection: Manage and resolve dependencies with ease.
- Service Providers: Register and boot services in a modular way.
- TypeScript Support: Fully typed for a better developer experience.
- Flexible Configuration: Load providers dynamically from a configuration file.
- Singleton, Transient, and Contextual Bindings: Register services with different lifetimes and contexts.
Snapx consists of multiple scoped packages, each serving a specific purpose:
Package Name | Description | npm Link | README Link |
---|---|---|---|
@snapx/core | Core functionality, including the service container and provider architecture. | @snapx/core |
@snapx/core README |
Install the required packages using your preferred package manager:
# Install the core package
bun add @snapx/core
# Install additional packages (optional)
bun add @snapx/mail
For detailed usage instructions, check the README files of each package:
We welcome contributions from the community! Here’s how you can get involved:
- Fork the Repository : Fork the Snapx repository on GitHub.
- Clone the Repository :
git clone https://github.com/yourusername/snapx.git
cd snapx
- Install Dependencies :
bun install
- Make Changes : Create a new branch for your changes:
git checkout -b feature/your-feature-name
- Test Your Changes : Ensure all tests pass:
bun test
- Submit a Pull Request : Push your branch and open a pull request on GitHub.
Snapx is licensed under the MIT License. See the License file for details.
- Built with ❤️ using Bun.
- Inspired by modern frameworks like Laravel and NestJS.
For questions or feedback, feel free to reach out:
- GitHub: @calvin-kimani
- Email: [email protected]