What is Kaviar?#

KaviarJS is a TypeScript-based framework which aims at helping developers create robust web applications in a speedy fashion. Features cool stuff such as:

  • Modular design with Dependency Injection
  • Built-in security module compatible with any database
  • React Templated Email Support
  • Supports running commands from your cli in your application context
  • Customisable GraphQL Features
  • Complex, yet simple Model Validation
  • Customisable Logging

KaviarJS is flexible and does not dictate what database or API should you use. It's flexible to adapt to any needs and provides you with a solid foundation for your project. On top of this solid base, we built X-framework. All open-source.


This represents a set of bundles (modules) built with Kaviar which make use of:

  • GraphQL (Apollo/Serverless)
  • MongoDB

Main features of it are:

  • Intelligent and adaptive scaffolding tool (@kaviar/x)
  • Plug-in Secure User Management (register/login/reset password, etc)
  • Out of the box realtime features
  • Type-safe MongoDB with relational features.
  • GraphQL tools (authorisation, live data, dependency injection, security)

If you wish to start fast, we suggest talking a look at the sample boilerplate which is ready to go:

# More instructions on the README
git clone

Learning Curve#

It's a great idea to know both JavaScript and TypeScript. But don't feel bad if you haven't ascended yet to godhood (TypeScript), you're a developer you can learn it as you go! It's important that your JavaScript Basics are there so you can easily follow through. Besides JS Basics, we recommend you understand the following concepts:

We also recommend you use Prettier as your default code formatting tool, this will help you keep your code looking clean without having to think about it.

It would be a good idea to learn the Foundation of Kaviar before diving into X-Framework. This will help sedimentate the principles faster.


This package is part of KaviarJS family. If you enjoy this work please show your support by starring the main package. If not, let us know what can we do to deserve it, our feedback form is here