TramwayJS

tramway.js

A collection of libraries to help build your next project.

Whether it's an API built with ExpressJS...

You can leverage the common boilerplate and Dependency Injection to quickly get started.

...Or front-end client built with ReactJS

You can leverage the routing configuration from your API to create corresponding features.

Features

SOLID design principles out of the box

Tramway leverages design patterns to speed up development, giving you the flexibility to add the pieces you'd normally need to boilerplate.

A collection of opt-in libraries

Tramway, together with all of its parts, is a modular solution to building applications.

The Core

Dependency Injector

Increase reusability within your application and other applications with a non-intrusive configuration-driven dependency injection library. Inspired by Symfony's container system, Tramway's Dependency Injection library lets you assign keys to services and parameters and dynamically builds the instances of your services as they become required within your application.

Routing

Add a standard configuration layer over Express or React Router to decouple middleware and routing logic, as well as streamline with dependency injection.

Providers

Streamline your data sources with a consistent interface and leverage dependency injection to ease changes if necessary. Some providers for MySQL, MongoDB, APIs and local caching are ready for you to use.

Commands

Inspired by Symfony's commands, Tramway's Command library allows you to standardize commands with a configurable CLI interface, arguments and options.

Logging

Keep track of your application's health and much more with a logger of your choice.