The ULTIMATE planner app
  • Vue 74.2%
  • Python 21.9%
  • JavaScript 3.3%
  • CSS 0.3%
  • Dockerfile 0.2%
  • Other 0.1%
Find a file
2026-05-07 15:41:23 +02:00
backend fix: use valid dummy bcrypt hash and extract BCRYPT_ROUNDS constant 2026-04-18 21:25:18 +00:00
frontend feat: first-run setup auth - create account on page, no .env password needed 2026-04-18 21:23:42 +00:00
.gitignore feat: auto-generate secret key when placeholder is detected 2026-04-18 21:09:23 +00:00
docker-compose.yml feat: add JWT auth login system with httpOnly cookie 2026-04-18 19:47:59 +00:00
LICENSE Initial commit 2026-04-16 08:43:13 +02:00
README.md Fix typo in Planning section of README 2026-05-07 15:41:23 +02:00

TuxPlanner

The ULTIMATE self-hosted planner app, a personal calendar with todos and a daily overview.

image

Stack

Layer Technology
Backend Python · FastAPI · SQLAlchemy
Database PostgreSQL
Frontend Vue 3 · Vuetify 3 · FullCalendar 6

Features

  • FullCalendar — month / week / day views, drag-and-drop events
  • Sidebar — Today panel (date, week number, day-of-year) + Todo list
  • Todos — create, complete, delete with optional due date
  • Planning Connect todo's as tasks to your calendar events and plan when you want to work on your tasks
  • Events — create, edit, delete, colour-code appointments
  • Dark mode toggle

Quick Start (Docker Compose)

# 1. Clone the repo
git clone https://github.com/jonasvanleeuwen19/TuxPlanner.git
cd TuxPlanner

# 2. Start everything (DB + backend + frontend)
docker compose up --build

# 3. Open the app
#   Frontend: http://localhost:5173
#   API docs:  http://localhost:8000/docs

Local Development

Backend

cd backend

# Create virtual env
python -m venv .venv && source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Copy and edit env file
cp .env.example .env

# Run the API server (needs a running PostgreSQL)
uvicorn app.main:app --reload

API will be available at http://localhost:8000.
Interactive docs: http://localhost:8000/docs

Frontend

cd frontend

npm install
npm run dev

App will be available at http://localhost:5173.