8000 GitHub - Ddave82/DoDash: A modern, elegant to-do app for your home – dark mode, no cloud, no login, runs as a Docker container on your local network.
[go: up one dir, main page]

Skip to content
/ DoDash Public

A modern, elegant to-do app for your home – dark mode, no cloud, no login, runs as a Docker container on your local network.

Notifications You must be signed in to change notification settings

Ddave82/DoDash

Repository files navigation

DoDash

MIT License Docker Ready Made with React

A modern, elegant to-do list app for your home or office—no login, no cloud, just you and your tasks. DoDash offers a beautiful dark mode UI, multiple color-coded lists, and a seamless experience on both desktop and mobile.

DoDash Screenshot

✨ Features

  • Multiple Lists: Create, edit, and delete unlimited to-do lists
  • Custom Colors: Choose a unique color for each list (with color picker)
  • Dark Mode: Always-on, elegant dark theme with soft gradients
  • Drag & Drop: Reorder tasks within lists by drag & drop
  • Task Completion: Mark tasks done, see them grayed out and strikethrough
  • Clear Completed: One-click to clear all completed tasks
  • Instant Sync: Real-time UI updates and auto-save
  • Responsive Design: Looks perfect on desktop, tablet, and phone
  • No Accounts, No Cloud: 100% local, for your personal or family use
  • Dockerized: Runs in a single container, accessible via your LAN

🛠️ Tech Stack

Frontend:

Backend:

  • Node.js + Express (API, static serving)
  • Data Storage: Simple JSON file (no database, no browser cache)
  • Container: Docker for easy deployment

📂 Project Structure

dodash/
├── src/           # Frontend source code
│   ├── components/
│   │   ├── AddListButton
│   │   ├── ListSelector
│   │   ├── TaskItem
│   │   └── TaskList
│   ├── types/
│   ├── App.tsx
│   └── index.tsx
├── server/        # Backend code (Express)
│   └── index.js
├── public/        # Static assets
├── data/          # JSON data persistence
│   └── todos.json
└── docker/        # Docker config

🚀 Quick Start

1. Clone the Repository

git clone https://github.com/Ddave82/DoDash.git
cd DoDash

2. Install Dependencies

npm install

3. Start in Development

  • Backend:
    cd server
    node index.js
  • Frontend: (in a new terminal)
    npm start

App runs at: http://localhost:8080


🐳 Production: Docker Deployment

1. Build the Frontend

npm run build

2. Build Docker Image

docker build -t dodash .

3. Run Docker Container

docker run -p 8080:8080 -v $(pwd)/data:/app/data dodash

Access DoDash at http://localhost:8080 or your local network IP (e.g., http://192.168.1.10:8080).


💾 Data Storage & Persistence

  • All data is stored in /app/data/todos.json inside the container.
  • Data is persisted via Docker volume, safe across restarts.
  • Backup: Copy the data/ folder to save your lists/tasks.

JSON structure:

{
  "lists": [
    {
      "id": "string",
      "name": "string",
      "color": "string (hex)",
      "tasks": [
        {
          "id": "string",
          "text": "string",
          "completed": "boolean"
        }
      ]
    }
  ]
}

🌍 Browser Support

  • Chrome / Edge (latest 2 versions)
  • Firefox (latest 2 versions)
  • Safari (latest 2 versions)
  • Mobile browsers (iOS, Android)

🤝 Contributing

Contributions are welcome! Open an issue or submit a PR—feedback and improvements are appreciated.


📄 License

MIT License


Ready to get things done?
Star the repo, run DoDash in your LAN, and enjoy next-level productivity—beautifully simple, 100% yours.

About

A modern, elegant to-do app for your home – dark mode, no cloud, no login, runs as a Docker container on your local network.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0