Find a file
2025-02-28 03:19:46 +01:00
.github Update bug_report.md 2025-02-04 23:57:38 -05:00
assets Update README.md with screenshot 2024-12-23 11:12:42 -05:00
config Add Event Producer 2025-02-09 20:15:28 -05:00
external/user Move to Donetick Org, first commit 2024-06-30 21:41:41 -04:00
frontend Update frontend handler to serve static files from embedded FS for selfhosted option 2024-07-24 23:55:23 -04:00
internal fix previously hardcoded email address 2025-02-28 03:19:46 +01:00
logging Move to Donetick Org, first commit 2024-06-30 21:41:41 -04:00
migrations Add Event Producer 2025-02-09 20:15:28 -05:00
.gitignore chore: Add .vscode/launch.json to .gitignore 2024-07-24 00:48:15 -04:00
.golangci.yaml Add GolangCI configuration for linting and testing 2025-01-20 22:15:14 -05:00
.goreleaser.yaml add back linux_arm64 2024-11-16 16:11:17 -05:00
docker-compose.yaml Remove version from docker-compose.yaml 2025-01-21 12:44:19 +03:30
Dockerfile Improved Dockerfile 2024-11-23 16:46:46 +00:00
go.mod Add Identity Provider to support Authentication via Authentik,OpenID ,etc.. 2025-02-04 23:59:49 -05:00
go.sum Add Identity Provider to support Authentication via Authentik,OpenID ,etc.. 2025-02-04 23:59:49 -05:00
LICENSE.md Move to Donetick Org, first commit 2024-06-30 21:41:41 -04:00
main.go Add subtask model and repository, implement webhook notification handling 2025-02-25 23:56:49 -05:00
README.md Update README.md 2025-02-07 01:27:59 -05:00

drawingDonetick

Simplify Tasks & Chores, Together!

Donetick is an open-source, user-friendly app designed to help you organize tasks and chores effectively. featuring customizable options to help you and others stay organized

Screenshot

GitHub Workflow Status GitHub release (latest by date) Docker Pulls

Discord Reddit


Features

🏰 Group-Based Task Management: Create and manage tasks solo or with your family or friends in shared circles.

One-Sentence Task Creation[Experimental] : Create tasks by simply describing them in a sentence. Donetick will extracts dates, times, and recurrence patterns from your natural language."Take the trash out every Monday and Tuesday at 6:15 pm" will automatically generate the correct task.

🔄 Smart Assignments: Assign tasks to individuals with rotation strategies like random or least completed.

Recurring Tasks: Automate task scheduling with flexible recurrence options: Daily, weekly, monthly, or yearly.

📅 Custom triggers based on specific days or adaptive patterns using historical completion data.

📈 Progress Tracking: Monitor completion rates and view historical data to track trends.

📢 NFC Tag Support: Write NFC tags to trigger tasks instantly by scanning.

📧 Notifications: Stay on top of tasks with reminders sent via Telegram or Pushover.

📦 Integration: Trigger tasks using external systems through API like viewing tasks directly in supported platforms (e.g., Home Assistant with a custom component).

💿 Labels for Organization: Group and organize tasks with labels. Labels can also be shared within the same group for better collaboration.

🛠️ "Things" Integration: Use entities (numbers, strings, booleans) to trigger tasks, track values, or connect with external systems via webhooks.

🔑 SSO/OIDC Support: Integrate with identity providers using Single Sign-On and OpenID Connect.


🚀 Quick Start

Note

Before running the application, ensure you have a valid selfhosted.yaml configuration file. If you don't have one, create a selfhosted.yaml file based on the example provided here. Place the selfhosted.yaml file in the /config directory within your application's root directory

Using Docker

  1. Pull the latest image:
    docker pull donetick/donetick
    
  2. Run the container: Replace /path/to/host/data with your preferred data directory:
    docker run -v /path/to/host/data:/donetick-data -p 2021:2021 \
      -e DT_ENV=selfhosted \
      -e DT_SQLITE_PATH=/donetick-data/donetick.db \
      donetick/donetick
    

Using Docker Compose

Use this template to set up Donetick with Docker Compose:

services:
  donetick:
    image: donetick/donetick
    container_name: donetick
    restart: unless-stopped
    ports:
      - 2021:2021
    volumes:
      - ./data:/donetick-data
      - ./config:/config
    environment:
      - DT_ENV=selfhosted
      - DT_SQLITE_PATH=/donetick-data/donetick.db
      

Using the Binary

  1. Download the latest release from the Releases page.
  2. Extract the file and navigate to the folder:
    cd path/to/extracted-folder
    
  3. Run Donetick:
    DT_ENV=selfhosted ./donetick 
    

🛠️ Development Environment

  1. Clone the repository:
    git clone https://github.com/donetick/donetick.git
    
  2. Navigate to the project directory:
    cd donetick
    
  3. Install dependencies:
    go mod download
    
  4. Run the app locally:
    go run .
    

🤝 Contributing

Contributions are welcome! If you want to work on something that is not listed as an issue, please open a Discussion first to ensure it aligns with our goals and to avoid any unnecessary effort!

if you have an idea also feel free to use the Discussion

  1. Pick an issue or open discuss about the contribution
  2. Fork the repository.
  3. Create a new branch:
    git checkout -b feature/your-feature-name
    
  4. Make your changes and commit them:
    git commit -m 'Add a new feature'
    
  5. Push your branch:
    git push origin feature/your-feature-name
    
  6. Submit a pull request.

🔒 License

This project is licensed under the AGPLv3. See the LICENSE file for more details.


💬 Join the Discussion

For ideas or feature requests, please use GitHub Discussions. We also have a Discord server and a subreddit for those who prefer those platforms!

Discord Reddit

Github Discussion


💡 Support Donetick

If you find it helpful, consider supporting us by starring the repository, contributing code, or sharing feedback!