Skip to content

hudy9x/odoflow

Repository files navigation

🌊 Odoflow

A lightweight workflow automation platform built with Next.js and Honojs.

Logo

Commit Activity GitHub Last Commit Open Issues Contributors

📋 Prerequisites

  • Node.js (v18 or higher recommended)
  • pnpm (v8 or higher)
  • Docker and Docker Compose

📹 Demo

Node Config Quick Add Node Debugger
Node configuration Node connection Node debugger
Filter Condition Quick Add Workflow List
Filter condition Quick add Workflow list

🚀 How to try it

To run the entire application in production mode:

docker compose up

The production environment will be available at:

💻 Development Setup

  1. Clone the repository:
git clone https://github.com/hudy9x/odoflow.git
cd odoflow
  1. Install dependencies:
# Install frontend dependencies
cd frontend
pnpm install

# Install backend dependencies
cd ../backend
pnpm install
  1. Set up environment variables:
# Frontend (.env.local)
cp frontend/.env.example frontend/.env.local

# Backend (.env)
cp backend/.env.example backend/.env
  1. 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
  1. 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:

📁 Project Structure

.
├── 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

🛠️ Tech Stack

Category Technologies
Frontend Next.js, Shadcn UI Components, TypeScript, Tailwind CSS
Backend Honojs, Prisma (ORM), TypeScript, Redis, PostgreSQL

📖 Development Guidelines

Frontend

  • 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

Backend

  • 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

About

A Lightweight Automation Workflow For Small Teams

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages