LaneUp React is the React counterpart of the LaneUp Vue project. Same powerful task management, same real-time collaboration — just wearing a different jersey.
- Real-time Collaboration — Instant updates across all users thanks to Convex
- Multiple Views — Board (Kanban), List, Table, and Timeline
- Advanced Filtering — Filter by status, priority, assignees, labels, and more
- Drag & Drop — Intuitive task management
- Rich Text Editor — Full-featured text editing
- File Attachments — Upload and manage task attachments via Cloudflare R2
- Comments & Activities — Track all changes and discussions
- Dark Mode — Built-in theme support
- Mobile Responsive — Works seamlessly on all devices
- Framework: React 19
- Language: TypeScript
- Styling: Tailwind CSS v4
- UI Components: Radix UI + shadcn/ui
- State Management: Jotai + Zustand
- Routing: React Router v7
- Tables: TanStack Table
- Build Tool: Vite 7
- Database: Convex (real-time, serverless)
- Authentication: Clerk
- File Storage: Cloudflare R2
- Payments: Stripe
- Icons: Lucide React, Tabler Icons, Iconify
- Dates: date-fns
- Commands: cmdk
- Animations: tw-animate-css
- Node.js 18+
- Bun (recommended) or npm
- Convex account
- Clerk account
-
Clone the repository
git clone https://github.com/calebeaires/laneup-react.git cd laneup-react -
Install dependencies
bun install # or npm install -
Environment Variables
Copy the example and fill in your keys:
cp .env.example .env
Update the new
.envwith your keys:# Convex VITE_CONVEX_URL=your_convex_deployment_url # Clerk VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key # Optional: R2 for file uploads R2_ACCESS_KEY_ID=your_access_key R2_SECRET_ACCESS_KEY=your_secret_key R2_ENDPOINT=your_endpoint R2_BUCKET=your_bucket_name
-
Setup Convex
npx convex dev
-
Run the development server
bun run dev # or npm run dev -
Open your browser at
http://localhost:5173
laneup-react/
├── src/
│ ├── components/ # Reusable UI components
│ │ └── ui/ # shadcn/ui components
│ ├── hooks/ # Custom React hooks
│ ├── stores/ # Jotai atoms & Zustand stores
│ ├── pages/ # Route pages
│ ├── router/ # React Router config
│ ├── types/ # TypeScript types
│ ├── lib/ # Utilities and helpers
│ └── main.tsx # App entry point
├── convex/
│ ├── _generated/ # Auto-generated Convex files
│ ├── modules/ # Domain modules
│ ├── schema.ts # Database schema
│ └── schema.args.ts # Schema value definitions
├── public/ # Static assets
└── package.json # Project dependencies
bun run build
# or
npm run buildnpx convex deployThe built files in dist/ can be deployed to any static hosting service:
- Vercel
- Netlify
- Cloudflare Pages
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Wait, you like Vue? The original LaneUp was built with Vue 3 and it's still going strong. Check it out: LaneUp Vue