Skip to content

Navigation Menu

Sign in
Sign up

Repository files navigation

ExpressFlow Backend

ExpressFlow is an API Gateway / redirect service that lets your REST-based backend microservices communicate through a single, unified endpoint.

Tech Stack

  • Runtime: Node.js + TypeScript
  • Framework: Express.js
  • Database: MongoDB (Mongoose)
  • API Docs: Swagger (swagger-jsdoc + swagger-ui-express)
  • Testing: Jest + Supertest
  • Package Manager: pnpm

Project Structure

src/
├── functions/ # Core gateway logic (create, update, load-balance APIs)
├── helpers/ # Database connection
├── middleware/ # Authentication middleware
├── models/ # Mongoose models
├── routes/ # Express route definitions & controller
└── util/ # Cron jobs, Joi validation, load balancer, Swagger config

Environment Variables

Three .env files are required. Create them before running the project:

.env.development
.env.production
.env.test

Add the following variables to each file:

Variable Description Example
PORT Port the server listens on 3000
MONGODB_URI MongoDB connection string mongodb://localhost:27017/expressflow

Getting Started

Install dependencies

pnpm install

Run in development mode

pnpm dev

Build for production

pnpm build

Run in production mode

pnpm start

API Reference

Full API Documentation (Swagger UI)

GET /docs

API Documentation as JSON

GET /docs.json

Running Tests

pnpm test

Tests are powered by Jest with Supertest for HTTP assertions and coverage reporting.

License

MIT

About

ExpressFlow is an API Gateway / redirect service that lets your REST-based backend microservices communicate through a single, unified endpoint.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /