A lightweight workflow automation platform built with Next.js and Honojs.
- Node.js (v18 or higher recommended)
- pnpm (v8 or higher)
- Docker and Docker Compose
Node Config | Quick Add | Node Debugger |
---|---|---|
![]() |
![]() |
![]() |
Filter Condition | Quick Add | Workflow List |
---|---|---|
![]() |
![]() |
![]() |
To run the entire application in production mode:
docker compose up
The production environment will be available at:
- Frontend: http://localhost:3100
- Backend API: http://localhost:3200
- Redis: http://localhost:6370
- PostgreSQL: http://localhost:5430
- Clone the repository:
git clone https://github.com/hudy9x/odoflow.git
cd odoflow
- Install dependencies:
# Install frontend dependencies
cd frontend
pnpm install
# Install backend dependencies
cd ../backend
pnpm install
- Set up environment variables:
# Frontend (.env.local)
cp frontend/.env.example frontend/.env.local
# Backend (.env)
cp backend/.env.example backend/.env
- Set up the database and dependencies:
# Start PostgreSQL and Redis services
docker compose up odo-db odo-redis -d
# Setup database schema and client
cd backend
pnpm deploy # Deploy database migrations
pnpm generate # Generate Prisma Client
- Start the development servers:
# Start backend development server
cd backend # If not already in backend directory
pnpm dev
# In a new terminal, start frontend development server
cd frontend # From project root
pnpm dev
The development environment will be available at:
- Frontend: http://localhost:3000
- Backend: http://localhost:3003
.
├── frontend/ # Next.js frontend application
│ ├── src/
│ │ ├── app/
│ │ │ ├── (auth)/ # Authentication pages
│ │ │ ├── (routes)/ # Application routes
│ │ │ ├── features/ # Feature components and logic
│ │ │ └── services/ # API service calls
│ │ └── components/ # Reusable UI components
│ │
├── backend/ # Node.js backend application
│ ├── src/
│ │ ├── controllers/ # API route controllers
│ │ └── index.ts # Main application entry
│ └── prisma/
│ └── schema.prisma # Database schema
└── README.md
Category | Technologies |
---|---|
Frontend | Next.js, Shadcn UI Components, TypeScript, Tailwind CSS |
Backend | Honojs, Prisma (ORM), TypeScript, Redis, PostgreSQL |
- All authentication pages should be placed in
frontend/src/app/(auth)
- Application pages should be placed in
frontend/src/app/(routes)
- Business logic should be separated into
frontend/src/app/features
- API requests should be centralized in
frontend/src/app/services
- Component names must follow PascalCase convention
- API routes are defined in
backend/src/controllers
- New routes must be imported and registered in
backend/src/index.ts
- Database schema modifications should be made in
backend/prisma/schema.prisma