Skip to content

Commit 23d9bd5

Browse files
committed
feat: add TaskFlow Board with React Flow integration
- Implement visual task management dashboard with draggable nodes - Add support for task creation, editing, and deletion - Include drag-and-drop repositioning and node connections - Implement localStorage persistence for board state - Add export/import functionality for board JSON - Include zoom, pan controls, and MiniMap - Add responsive styling with priority/status indicators - Update navigation and routing for TaskFlow page - Update README and CONTRIBUTING docs
1 parent d194165 commit 23d9bd5

File tree

7 files changed

+712
-2
lines changed

7 files changed

+712
-2
lines changed

CONTRIBUTING.md

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,31 +70,47 @@ Jokes & Quotes:
7070
Pets Dashboard:
7171
- Persist favorites
7272
- Download image helper
73-
73+
7474
COVID Dashboard:
75+
7576
- Daily trends line charts
7677
- Country comparison
77-
78+
79+
Task Flow Board:
80+
81+
- Add color themes for nodes
82+
- Implement keyboard shortcuts (Delete, Undo)
83+
- Add task search and filtering
84+
- Create board templates (Kanban, Sprint Planning)
85+
- Export/import boards as JSON
86+
- Add task due dates and calendar view
87+
- Implement drag-to-connect nodes feature
88+
- Add task dependencies validation
89+
7890
Global Enhancements:
91+
7992
- Extract API calls into services folder
8093
- Add custom hooks (useFetch, useLocalStorage)
8194
- Add tests with Vitest
8295
- TypeScript migration
8396
- CI workflow (lint + build)
8497

8598
## Code Style
99+
86100
- Keep components small & focused
87101
- Use semantic HTML where practical
88102
- Prefer descriptive variable names
89103
- Add `// TODO:` comments for follow-up ideas
90104

91105
## Submitting a PR
106+
92107
1. Ensure build passes: `npm run build`
93108
2. Provide a clear title & description (include issue # if applicable)
94109
3. Screenshots / GIFs for UI changes encouraged
95110
4. One feature/fix per PR when possible
96111

97112
## License
113+
98114
By contributing you agree your work is licensed under the project’s MIT License.
99115

100116
Happy hacking! ✨

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ A collection of interactive dashboards that fetch and display data from **free,
2222
| 😂 Jokes & Quotes | [Joke API](https://official-joke-api.appspot.com/) + [Quotable](https://github.com/lukePeavey/quotable) | Daily dose of humor and motivation |
2323
| 🐶🐱 Pets | [Dog CEO](https://dog.ceo/dog-api/) + [Cataas](https://cataas.com/#/) | Random cute dog and cat images |
2424
| 🦠 COVID-19 Tracker | [COVID19 API](https://covid19api.com/) | Track pandemic stats and trends globally |
25+
| 📋 Task Flow Board | [React Flow](https://reactflow.dev/) | Visual task management with draggable nodes |
2526

2627
---
2728

@@ -51,6 +52,9 @@ Then open [http://localhost:5173](http://localhost:5173) in your browser.
5152
* 🧭 React Router v6
5253
* 🌐 Fetch API (no external client)
5354
* 🎨 Custom Light/Dark CSS Theme
55+
* 🔄 React Flow (for Task Board visualization)
56+
* 📊 Recharts (for data charts)
57+
* 🗺️ Leaflet + React Leaflet (for maps)
5458

5559
---
5660

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
"react-icons": "^5.5.0",
1818
"react-leaflet": "^4.2.1",
1919
"react-router-dom": "^6.27.0",
20+
"reactflow": "^11.11.4",
2021
"recharts": "^3.3.0"
2122
},
2223
"devDependencies": {

src/App.jsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ import Covid from './pages/Covid.jsx';
4343
import Navbar from './components/Navbar.jsx';
4444
import ContributorsWall from './pages/Contributors.jsx'
4545
import Pokedex from './pages/Pokedex.jsx';
46+
import TaskFlowBoard from './pages/TaskFlowBoard.jsx';
4647

4748
// TODO: Extract theme state into context (see todo 5).
4849
import { useState, useEffect } from 'react';
@@ -82,6 +83,7 @@ export default function App() {
8283
<Route path="/covid" element={<Covid />} />
8384
<Route path="/contributors" element={<ContributorsWall />} />
8485
<Route path="/pokedex" element={<Pokedex />} />
86+
<Route path="/taskflow" element={<TaskFlowBoard />} />
8587
</Routes>
8688
</main>
8789
</div>

src/components/Navbar.jsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export default function Navbar({ theme, toggleTheme }) {
1616
<li><NavLink to="/jokes-quotes">Jokes & Quotes</NavLink></li>
1717
<li><NavLink to="/pets">Pets</NavLink></li>
1818
<li><NavLink to="/covid">COVID-19</NavLink></li>
19+
<li><NavLink to="/taskflow">TaskFlow</NavLink></li>
1920
<li className="theme-item">
2021
<button
2122
className="theme-toggle"

src/pages/Home.jsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ const dashboards = [
3434
{ path: '/pets', title: 'Pets Images', desc: 'Random dog & cat images' },
3535
{ path: '/covid', title: 'COVID-19 Stats', desc: 'Global & country data' },
3636
{ path: '/pokedex', title: 'Pokédex', desc: 'Explore Pokémon species' },
37+
{ path: '/taskflow', title: 'Task Flow Board', desc: 'Visual task management with nodes' },
3738
{ path: '/contributors', title: 'Contributor Wall', desc: 'Our Contributors' },
3839

3940
];

0 commit comments

Comments
 (0)