https://github.com/vratix-dev/vratix-expressjs-api-modules
Instantly build Node.js API backend services with Vratix 🚀. A collection of open-source, production-ready API modules for Express.js written in TypeScript. Supports authentication, Stripe billing, email integrations (Postmark), AWS S3 uploads, Docker configs, and more!
https://github.com/vratix-dev/vratix-expressjs-api-modules
apis authentication automation backend boilerplate codegen devtools no-code node node-js payments
Last synced: 2 days ago
JSON representation
Instantly build Node.js API backend services with Vratix 🚀. A collection of open-source, production-ready API modules for Express.js written in TypeScript. Supports authentication, Stripe billing, email integrations (Postmark), AWS S3 uploads, Docker configs, and more!
- Host: GitHub
- URL: https://github.com/vratix-dev/vratix-expressjs-api-modules
- Owner: vratix-dev
- License: mit
- Created: 2024-09-30T11:02:16.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-04-14T09:29:39.000Z (11 days ago)
- Last Synced: 2025-04-14T10:35:49.760Z (11 days ago)
- Topics: apis, authentication, automation, backend, boilerplate, codegen, devtools, no-code, node, node-js, payments
- Language: TypeScript
- Homepage: https://vratix.com
- Size: 317 KB
- Stars: 133
- Watchers: 4
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Vratix API Module Library
[](CODE_OF_CONDUCT.md)

## TL;DR
Use the `init` command to create a new Node.js project:
```bash
npx vratix init
```
---
- [Overview](#overview)
- [Installation](#installation)
- [Private Modules](./docs/privateModules/gettingStarted.mdx)
- [Community Modules](#modules)
- [Auth Basic](./registry/modules/authBasic/README.mdx)
- [Stripe Subscriptions](./registry/modules/stripeSubscriptions/README.mdx)
- [Emails (Postmark)](./registry/modules/postmarkEmail/README.mdx)
- [S3 File Upload](./registry/modules/upload-to-s3/README.mdx)
- [NGINX Proxy](./docs/nginx.mdx)
- [Configuration](./docs/config.mdx)
- [The CLI](./docs/cli.mdx)
- [License](LICENSE)## Overview
We created this library of reusable API modules to simplify API development because we were wasting too much time setting up basic functionality and researching the latest backend best practices.
We wanted a repository of high-quality API modules we can reuse, copy and paste into our projects and have a working backend in seconds.Currently, the modules work for **Express.js**, however, we’re actively working to extend compatibility with other backend languages and popular Node.js frameworks.
We would be more than happy for you to contribute and help us achieve this faster.> This isn’t just another package; it’s a source code repository you can copy and use — your code, your way.
The modules are designed to be a solid foundation for any API service, **you should customize them to fit your unique needs**.**We recommend using our CLI** to import modules into your codebase. It automates file placement, manages external dependencies, sets up database repositories and migrations, and resolves module imports.
## Installation
You’re free to copy and use any code from this API Module Library — it's designed to be a foundation you can build on.
To simplify setup and integration, we created a CLI tool that helps you start new projects or integrate our API Modules into existing ones.
The CLI handles imports, configurations, and dependencies automatically, so you can get up and running in minutes.### Start a New Project
Use the `init` command to create a new Node.js project or configure an existing one.
Add the `-c` flag to specify a custom folder, or the CLI will set up the project in the current directory:```bash
npx vratix init
```### Configure Your Project
The CLI will prompt you with a few questions to configure your project and create `./config/modules.json`:
```txt showLineNumbers
Select your package manager: › pnpm
What database are you going to use: › PostgreSQL
Select your schema validator: › zod
Should we set up Docker containers for this service (docker-compose.yaml): › no / yes
Should we configure a web proxy for this project (NGINX): › no / yes
```### Choose API Modules
During setup, select any initial API Modules you’d like to install as part of the project template:
```txt showLineNumbers
☐ Auth (Basic)
☐ Stripe Subscriptions
☐ S3 File Upload
☐ None
```If you choose "None," you can add modules individually after setup.
### Set Folder Overrides
Customize the paths for main module folders if needed:
```txt showLineNumbers
@components -> /src/components
@routes -> /src/routes
@middleware -> /src/middleware
@utils -> /src/utils
```> **Note**: Any folder overrides will still be located within `/src`.
### Ready To Go
Once setup is complete, to start your service run:
```bash
npm run dev:local
```If you are using docker you can run your service container with:
```bash
docker compose up -d --build
```
> Check [Deployment](/docs/deploy) for detailed guides.#### To add additional modules after the initial setup, use:
```bash
npx vratix add
```