luis 1965111a5e
All checks were successful
Build and Deploy / build-deploy (push) Successful in 15s
Update README.md
2026-02-23 23:53:40 +00:00
2026-02-22 02:03:30 +00:00
2026-02-22 02:03:30 +00:00
2026-02-22 02:03:30 +00:00
2025-04-18 01:05:48 +01:00
2026-01-06 18:40:07 +00:00
2026-02-22 02:03:30 +00:00
2025-04-25 22:12:32 +01:00
2026-02-23 23:53:40 +00:00
2026-02-22 02:03:30 +00:00
2025-04-12 14:06:35 +01:00

Todo3

Screenshot

Visually, this is an attempt at replicating lovely TUI aesthetics on the web. It isn't actually rendered in text, but everything is based around the ch unit.

Functionally, it's a real-time collaborative todo list, exclusively via WebSockets with optimistic updates. No REST here, not even for authentication. Whether or not this is a good idea remains to be seen.

Tech Stack

  • Frontend: React, Vite
  • Backend: Elysia, Bun, SQLite
  • Real-time: WebSockets

Development

cp .env.example .env
# fill in your values
bun install
docker compose -f docker-compose.dev.yml up

Frontend: http://localhost:5173 Backend: http://localhost:3000

Production

docker compose up --build

Environment Variables

Variable Description
PUBLIC_WS_URL WebSocket URL for frontend
PUBLIC_BOX_DRAWING_CHARS The 8 characters for box drawing. The default value ─│┌┐└┘├┤ results in boxes that are a bit too nice, you can also try |++++++ for a simpler style
HOST Allowed host for Vite
FE_PORT Frontend port (external)
BE_PORT Backend port (external)
JWT_SECRET Secret for JWT signing
SIGNUP_SECRET Required for user registration
ADMIN_EMAIL Contact email for signup errors
DB_PATH Path to SQLite database
Description
No description provided
Readme 319 KiB
Languages
TypeScript 89.8%
CSS 6.3%
Dockerfile 1.8%
JavaScript 1.4%
HTML 0.7%