You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Task Flow is a production-quality enterprise task management system built with Java 17 and a static web dashboard deployable on GitHub Pages. It features a 31-option console application with resilient CSV persistence, two-way JSON synchronization, and a feature-rich interactive dashboard with Kanban boards, SVG charts, activity feeds, task dependencies, recurrence rules, templates, bulk operations, and zero-duplicate guarantees — all without external frameworks, databases, or cloud services.
Task Flow is a complete enterprise-grade task management platform that combines a robust Java console backend with an interactive web dashboard. The system demonstrates layered software architecture, comprehensive testing, and seamless two-way data synchronization — all built with plain Java and vanilla JavaScript.
What It Solves
Challenge
Industry Impact
Task Flow Solution
Tool Fragmentation
Teams juggle multiple disconnected apps
Unified console + web with shared data schema
Data Lock-in
Cloud tools require subscriptions
$0/month — 100% local, offline-first
No Audit Trail
Changes are invisible
Append-only activity log with timestamps
Dependency Blindness
Blocked tasks go unnoticed
Dependency tracking with circular detection
Manual Repetition
Recreating similar tasks constantly
Templates and recurrence rules
Target Users
User Role
Use Case
Developers
Sprint planning, bug tracking, task management
Students
Assignment tracking, study scheduling
Project Managers
Team task oversight, dependency management
Freelancers
Client work, invoicing tasks, deadlines
Small Teams
Shared task boards without cloud dependency
Project Highlights
31-Option Console
Interactive Web Dashboard
Two-Way JSON Sync
Zero Duplicates
Enterprise Patterns
GitHub Pages Ready
187 JUnit 5 Tests
Dependency Tracking
Audit Logging
Problem Statement
Many lightweight to-do tools depend on cloud accounts, heavy databases, or expensive subscriptions. Users lose control of their data, face vendor lock-in, and lack visibility into task history. Enterprise solutions are overkill for individuals and small teams.
Task Flow addresses these challenges with a zero-cost, offline-first approach that delivers enterprise features — audit logging, dependency management, templates, recurrence — through a clean console interface and a polished web dashboard.
Key Features
Console Application (31 Menu Options)
Category
Options
Description
Task Management
1–5
Add, view all, view details, update, delete
Status Control
6–8
Mark completed, pending, in progress
Search & Filter
9–15
Title search, filter by status/priority/category/tag, advanced multi-criteria, sort
Soft-delete without removing data; restore from archive
Activity/Audit Log
Append-only record of every mutation with timestamps
Task Comments
Immutable comment threads per task
Templates
Save reusable task blueprints with pre-filled fields
Bulk Operations
Complete, delete, archive, set priority/category, add tag
Advanced Search
Multi-criteria filter (title, status, priority, category, tag, date range)
CSV Export
Export all tasks to CSV including enterprise fields
Dashboard Charts
SVG bar charts for status, priority, and category
Kanban Board
Three-column board view with task cards
Two-Way Data Sync
Direction
How
When
Console → Website
Console rewrites docs/data/tasks.json on every change
Automatic
Website → Console
Auto-Sync auto-downloads tasks.json; place as docs/data/tasks.json
Automatic (toggleable)
Manual
Export JSON / Import JSON buttons in the dashboard
On demand
No duplicates — both sides guarantee exactly one task per ID via dedupeById() and mergeById().
Results
Achievement
Result
JUnit 5 Tests
187 passing
Test Failure Rate
0%
Console Menu Options
31
Enterprise Features
12
Task Fields
13
Hosting Cost
$0/month
Duplicate Rate
0% (guaranteed)
Data Formats
CSV + JSON
Server Dependency
Zero
Screenshots
Dashboard Overview
Executive dashboard with KPIs, SVG charts, task table, and toolbar
Kanban Board
Three-column Kanban board with task cards and status columns
Activity Feed
Timestamped audit trail of all mutations with action icons
Templates Panel
Reusable task templates with use and delete actions
Tech Stack
Category
Technologies
Language
Java 17
Build Tool
Apache Maven 3.9+
Test Framework
JUnit 5 + Maven Surefire
Persistence
CSV (system of record) + JSON (shared store)
Frontend
HTML5, CSS3, JavaScript ES6+
Charts
SVG bar charts (vanilla JS)
Deployment
GitHub Pages (from /docs folder)
Architecture
Layered (Model → Service → Repository → Main)
System Architecture
graph TB
subgraph "Console Application (Java 17)"
A[Main.java<br/>31 Menu Options] --> B[TaskService<br/>Business Rules]
A --> C[ActivityService<br/>Audit Log]
A --> D[CommentService<br/>Task Comments]
A --> E[DependencyService<br/>Circular Detection]
B --> F[FileTaskRepository<br/>CSV + JSON Export]
C --> G[data/activities.json]
D --> H[data/comments.json]
E --> B
F --> I[data/tasks.csv<br/>System of Record]
F --> J[docs/data/tasks.json<br/>Shared Store]
end
subgraph "Web Dashboard (HTML5/CSS3/JS)"
K[index.html] --> L[app.js<br/>Client-Side Logic]
L --> M[localStorage<br/>Working Store]
J -->|fetch on load| K
L -->|auto-download| J
end
subgraph "Data Models"
B --> N[Task<br/>13 Fields]
B --> O[TaskTemplate<br/>Reusable Blueprint]
C --> P[TaskActivity<br/>Append-Only Log]
D --> Q[TaskComment<br/>Immutable Threads]
E --> R[Dependencies<br/>Prerequisite Graph]
end
Loading
Installation
Quick Start (Dashboard Only)
# Clone the repository
git clone https://github.com/girishshenoy16/task-flow.git
cd task-flow
# Open the dashboard in your browser
start docs/index.html
Full Stack (Console + Dashboard)
# Clone the repository
git clone https://github.com/girishshenoy16/task-flow.git
cd task-flow
# Build and test
mvn clean package
# Run console application
java -jar target/todo-list-manager.jar
# Open the dashboard in your browser
start docs/index.html