Event management system built with TypeScript, NodeJS, ReactJS.
EventFlow/
├── packages/
│ ├── shared/ # @eventflow/shared - Shared utilities, types and schemas
│ ├── api/ # Backend - Express.js API server
│ └── web/ # Frontend - React with Vite
├── package.json # Root workspace configuration
└── tsconfig.json # Base TypeScript configuration
Shared package containing TypeScript types, interfaces, and utility functions used by both frontend and backend.
Location: packages/shared/
Backend API built with Express.js and TypeScript.
Location: packages/api/
Stack:
- Node.js
- Express.js
- TypeScript
- CORS enabled
- Hot reload with nodemon + tsx
Frontend application built with React, TypeScript, and Vite.
Location: packages/web/
Stack:
- React 18
- TypeScript
- Vite
- Fast refresh in development
- Node.js >= 18.0.0
- pnpm >= 9.0.0
- Clone the repository
git clone git@github.com:cristian907/EventFlow.git
cd EventFlow- Install dependencies
pnpm installThis installs all dependencies for all workspaces and creates symlinks.
- Set up environment variables
# API
cp packages/api/.env.example packages/api/.env
# Web
cp packages/web/.env.example packages/web/.envEdit the .env files if you need different ports or URLs.
- Build shared package
pnpm run build:sharedpnpm run devStarts both API and web servers in parallel:
- API: http://localhost:3000
- Web: http://localhost:5173
API only:
pnpm run dev:apiWeb only:
pnpm run dev:webShared package (watch mode):
cd packages/shared
pnpm run dev-
Make changes to shared package:
- Edit
packages/shared/src/index.ts - API and web will auto-reload (nodemon watches shared)
- Edit
-
Make changes to API:
- Edit files in
packages/api/src/ - Server auto-restarts via nodemon
- Edit files in
-
Make changes to web:
- Edit files in
packages/web/src/ - Browser auto-refreshes via Vite HMR
- Edit files in