EventFlow is an event-driven microservice simulator and visualizer. It lets you design microservice topologies, run in-memory simulations with failure injection, and observe real-time metrics and traces.
- Frontend: Next.js 14 (App Router), TypeScript, Tailwind CSS, React Flow, Socket.io-client, Recharts, Zustand, Shadcn UI
- Backend: Node.js, Express, TypeScript, Socket.io, BullMQ + Redis, PostgreSQL + Prisma, Helmet, CORS, Winston
- DevOps: Docker Compose (Postgres, Redis, backend, frontend)
- Copy envs:
cp backend/.env.example backend/.envcp frontend/.env.local.example frontend/.env.local
- Install deps:
cd backend && npm install && cd ../frontend && npm install - Run services:
docker-compose up --build - Apply Prisma schema (optional outside Docker):
cd backend && npx prisma migrate dev --name init && npx prisma db seed
- Backend:
npm run dev,npm run build,npm run start,npm run lint - Frontend:
npm run dev,npm run build,npm run start,npm run lint
- Drag-and-drop service designer with React Flow
- Real-time simulation via Socket.io
- Failure injection and dead-letter queues
- Trace viewer and metrics dashboards
- Template library (Saga, CQRS, Event Sourcing, Basic)
- (Optional) Add unit tests in
backend/src/__tests__andfrontend/__tests__.
MIT