Node-Flow is a code generator that scaffolds a full-featured backend application using Node.js, TypeScript, Express, Prisma, and PostgreSQL.
It gives you a clean, modular, and production-friendly codebase instantly — so you can focus on building features instead of boilerplate.
- Node.js – Runtime environment
- Express – Web framework for routing and middleware
- TypeScript – Static typing and tooling
- PostgreSQL – Relational database
- Prisma – ORM for type-safe database access
The Node-Flow Code Generator automatically creates a ready-to-run backend application by:
- ✅ Creating a modular folder structure (controllers, routes, services, types, etc.)
- ✅ Generating REST API endpoints based on your input
- ✅ Wiring up route registration and middleware automatically
- ✅ Generating the Prisma schema and configuration
- ✅ Setting up CORS, body parsing, and environment config
- ✅ Preparing a
.envtemplate for PostgreSQL connection - ✅ NEW: Interactive Swagger/OpenAPI documentation
- ✅ NEW: Intelligent test data seeding with Faker.js
- ✅ NEW: Configurable project features and templates
- ✅ Zipping the project and making it downloadable
Once you’ve downloaded and unzipped your project from the client side, follow the instructions below to get started.
npm installCreate a new PostgreSQL database locally or using a cloud service like Supabase or Render.
At the root of the project, you’ll find a .env file. Replace the DATABASE_URL with your actual PostgreSQL connection string:
DATABASE_URL="postgresql://username:password@localhost:5432/dbname?schema=public"DATABASE_URL="postgresql://postgres:mysecretpassword@localhost:5432/mydb?schema=public"Use the following command to sync your Prisma schema with your database:
npx prisma db pushThis creates the necessary tables in your database without using migrations.
npm run devThis runs the project in watch mode using
ts-node-dev.
For production:
npm run build
node dist/server.jsprisma/
├── schema.prisma # Prisma schema definition
src/
├── controllers/ # Logic for handling requests
├── lib/ # Shared utilities
├── routes/ # Express route definitions
├── services/ # Business logic and DB operations
├── types/ # Shared type definitions
├── app.ts # Express app setup
├── server.ts # Entry point for the app
.env # Environment configuration
package.json # Project metadata and scripts
tsconfig.json # TypeScript configurationGET http://localhost:3000/Response:
Home page
Each generated resource is available under /api/<resource>, e.g.:
GET http://localhost:3000/api/userWhen enabled, your generated project includes:
Swagger UI Interface:
- URL:
http://localhost:3000/api-docs - Features: Interactive API testing, request/response schemas, endpoint documentation
OpenAPI Specification:
- JSON:
http://localhost:3000/api-docs.json - YAML:
docs/openapi.yaml
Usage:
# Start your server
npm run dev
# Open browser and navigate to:
# http://localhost:3000/api-docsWhen enabled, your generated project includes intelligent test data generation:
Available Commands:
# Generate test data (preserves existing records)
npm run seed
# Reset database and generate fresh data
npm run seed:reset
# Advanced seeding options
node seed-script.js --helpEnvironment Variables:
SEED_COUNT=50 # Number of records per entity (default: 10)
SEED_LOCALE=en # Faker locale for generated data (default: en)Generated Files:
prisma/seed.ts- Main seeding scriptprisma/seeders/- Individual entity seeders with smart data generationseed-script.js- Advanced seeding CLI tool
Smart Data Generation: The seeder automatically generates realistic data based on property names:
email→faker.internet.email()firstName→faker.person.firstName()phone→faker.phone.number()address→faker.location.streetAddress()price→faker.commerce.price()
Let’s say you generate a user module. The platform will automatically create:
src/routes/user.routes.tssrc/controllers/user.controller.tssrc/services/user.service.tssrc/types/user.types.ts
It will also:
- Register the route under
/api/user - Wire the module into
app.ts - Reflect the resource in your Prisma schema
You can immediately start building logic into your controller and service files.
The generator also handles cleanup of temporary folders after packaging the project. If you wish to manually remove the generated files later, simply delete the base folder.
To build and run:
npm run build
node dist/server.jsMake sure your environment variables are configured properly and your PostgreSQL instance is accessible.
To update your Prisma models:
- Open
prisma/schema.prisma - Add or modify models
- Run:
npx prisma db pushYou can also introspect an existing DB:
npx prisma db pullOr generate types:
npx prisma generateSupport channels and contribution guidelines will be available soon. Stay tuned!
This platform is made to help you move fast without sacrificing code quality. Whether you're building an MVP, a microservice, or a full API, Node-Flow gives you the foundation to build with confidence.