npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

inceptum

v0.9.15

Published

hipages take on the foundational library for enterprise-grade apps written in NodeJS

Downloads

529

Readme

Inceptum – Enterprise Node.js Framework

Build Status codecov

What is it?

Inceptum is a framework built at hipages to support our move towards microservices.

Why?

The move to microservices may or may not make sense for your company. In our case as our Engineering team keeps on growing we feel that having clear ownership boundaries of different parts of the system will be beneficial.

But the microservices journey is filled with a lot of operational complexities:

  • Multiple moving pieces that make debugging more difficult,
  • Cascading failure across dependencies,
  • Monitoring of multiple applications,
  • and many, many more.

It is for this reason that we wanted to embed as many operational concerns as possible into a common framework that would power all of our microservices. This is where Inceptum comes in.

What do you get?

These are some of the benefits of using Inceptum to build your apps:

  • Typescript ready: Javascript is a great language, and V8 (which powers Node.js) is a great engine with outstanding performance. But Typescript is better! Having a strongly typed language can prove very beneficial in preventing difficult to find errors.
  • Inversion of Control (IoC): Inspired by the Spring Framework and the support for Decorators, you can use annotations like @Autowire or @AutowireConfig to inject the necessary dependencies in your classes. This provides much better testability and isolation of concerns.
  • Use of express.js: Built from the ground up to support Rest/HTTP microservices and APIs, it has a sensible setup for express.
  • DB enabled: With support for MySQL and Postgress built in, you can easily start integrating DBs in your apps in a matter of seconds.
  • Solid logging framework: Based on Bunyan, Inceptum makes logging management easy, it allows for easy configuration of log levels per logger and stream.
  • Swagger/OpenAPI enabled: Because API support is critical in microservices and documentation is hard. Swagger/OpenAPI solves for those two problems and Inceptum makes it easy by allowing you to easily route endpoints specified in the swagger file to controllers defined in the context.
  • Prometheus enabled: Understanding how your app is doing is critical for successful operations of your microservices. Inceptum is heavily instrumented using Prometheus and will, out of the box gather and publish: all the basic node metrics, http requests metrics, db connection pools metrics, and many more.
  • New Relic enabled: You can very easily use New Relic as your APM to gain insights of your app.
  • Health Checks Enabled: A typical miss on many frameworks, your app will automatically expose a health check endpoint that will show whether your app is running properly. If you use a DB, RabbitMQ, or other backend provided by Inceptum, each of them will register a health check automatically.

And many more

So, how mature is Inceptum

We're currently using Inceptum in production supporting more than 5 microservices and the number is growing by the day. We're very close to reaching a 1.0.0 release and we have put quite a bit of effort into test coverage (it could be better, and you can help us ;).

Most importantly, though, there's a lot of commitment from the hipages Engineering team to keep supporting and building the framework as we continue our move to microservices.

How do I get started?

You can check the online documentation available in https://inceptum.io.

Questions, issues, etc?

Please open your tickets in Github.