Skip to content

hudy9x/odoflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

43 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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

 
 
 

Contributors

Languages