Skip to content

Repository files navigation

Description

novex-kit is a monorepo template for building full-stack JavaScript applications, micro-services and frontends with NodeJS (version 24 or Higher). VueJS and ExpressJS are highlighted but end-user is free to implement their own JS/TS stack.

The folder contents are as follows:

  • apps: userland backend and frontend application workspaces
  • scripts: deployment, service mocks and documentation scripts
  • common: shared JavaScript used by apps / scripts
  • docs: for documentation

IMPORTANT! The apps folder is for userland content. E.g workspace codes, documents, scripts, schemas, etc. End-users please work within the apps folder.

Other files and folders are managed by template maintainers.

Quickstart

Getting started with

Creating Own apps/services

Creating a New App or Service

Novex Kit provides reference template apps that can be used to quickly create new backend applications and services.

Instead of manually copying an existing application, use the app creation CLI.

Available Templates

The following templates are currently available:

Template Description
vision-rest-app REST API application
vision-queue-consumer Queue consumer application

Reference template apps live under apps/apps/sample-rest-app and apps/sample-queue-consumer — alongside every other app (see Available Templates above).

Create a New App

Run the following command from the repository root:

npm run create:app

The CLI will display the available templates:

🚀 Create new app

Available templates:

  1. vision-rest-app
  2. vision-queue-consumer

Choose template [1-2]:

Select the template you want to use, then provide the name of the new application:

Choose template [1-2]: 1

App name: my-new-service

The CLI will copy the selected template into the apps directory:

apps/
└── my-new-service/

The package.json inside the new application will also be updated with the application name.

Example output:

📦 Using template: vision-rest-app
📁 Creating: apps/my-new-service

✔ Template copied
✔ package.json updated

✨ Done!

Created:
  apps/my-new-service

Naming Rules

Application names must:

  • use lowercase letters
  • use numbers when needed
  • use hyphens (-) to separate words
  • start with a letter or number

Valid examples:

payment-service
user-api
notification-worker
order-service-v2

Invalid examples:

PaymentService
payment_service
payment service

Adding a New Template

Reference template apps are maintained under apps/, alongside every other app.

For example:

apps/
├── sample-rest-app/
└── sample-queue-consumer/

To add a new template:

  1. Create a new app directory under apps/.
  2. Add the application starter code.
  3. Add or update its package.json.
  4. Register the template in create-app.js.

For example:

const templates = {
  "vision-rest-app": "sample-rest-app",
  "vision-queue-consumer": "sample-queue-consumer",
  "my-new-template": "my-new-template-sample",
};

After registering the template, it will automatically become available when running:

npm run create:app

Important: the generated application is created under apps/ and is considered userland content. Template maintainers should keep reusable starter code in its own dedicated app under apps/ (e.g. sample-rest-app) rather than modifying a generated application to serve as a future template.

Read Me First

CI/CD

Releases

Packages

Used by

Contributors

Languages