Skip to content

Orang-Studio/OrangTask

Repository files navigation

OrangTask

A self-hosted task manager with a web app, an Android app and real-time sync
Lists, smart views, sharing, natural language quick-add, offline queue and push

task.oranges.lt


What's in here

Folder What it is
backend/ Bun + Hono + Postgres API, WebSocket sync, web push
frontend/ React + Vite + Tailwind PWA
android/ Native Kotlin app (Jetpack Compose, Room, Hilt)
mcp/ MCP server so Claude Code can read and edit your tasks

Features

  • Lists with icons and colors, plus smart views (today, week, overdue, assigned, all)
  • Share a list with anyone, roles for owner, editor and viewer
  • Quick-add that parses text like report friday 5pm high priority
  • Recurring tasks via RRULE
  • Real-time sync over WebSocket, offline queue that flushes on reconnect
  • Web push and native Android push (FCM)
  • Command palette, keyboard shortcuts, light and dark themes
  • Personal API keys and outgoing webhooks for n8n, Zapier or your own scripts
  • Import from Google Keep (Google Takeout export)

Self-hosting

git clone https://github.com/Orang-Studio/OrangTask
cd OrangTask
cp backend/.env.example backend/.env

Fill in backend/.env, at minimum DATABASE_URL, REDIS_URL and SESSION_SECRET. OAuth, email and push are all optional, the app runs without them.

docker compose up -d

Or run it directly:

cd backend  && bun install && bun run src/index.ts
cd frontend && bun install && bun run dev

nginx.example.conf has a reverse proxy config that handles the /ws upgrade.

Android

Open android/ in Android Studio and run. For native push, drop your Firebase google-services.json into android/app/ and apply the Google Services plugin. Without it the app still builds, push is simply inert.

Claude Code integration

mcp/ is an MCP server that exposes your tasks over the personal API key. See mcp/README.md for setup.

Requirements

  • Bun 1.1+ (or Node 18+)
  • PostgreSQL 14+
  • Redis 6+
  • JDK 17 and Android SDK 34 for the Android app

MIT licensed
Made with Love ❤️

Releases

Packages

Used by

Contributors

Languages