TaskGo is a modern, lightweight task management system built with Go language and Gin framework. It uses SQLite database, requires no complex configuration, and provides a clean, user-friendly responsive web interface. The project supports PWA features, allowing it to be easily "installed" to the desktop or mobile home screen, used like a native application.
Smart Tags: Add one or more tags to tasks by using the #tag format in the input box (e.g., #work #urgent Complete project report).
Tag Filtering: The left sidebar automatically aggregates all tags, allowing quick filtering of related tasks by clicking.
Status Toggle: Easily switch between "To-Do" and "Completed" task statuses via checkboxes.
Dynamic Search: The top right corner provides real-time search functionality to quickly filter all tasks by keywords.
Collapsible Sidebar: The left tag sidebar can be collapsed and expanded by clicking the top area, providing a larger content area on wide screens and automatically remembering its state.
Paginated Loading: The "Completed" list defaults to showing only the latest 10 records; click "Show More" to load older records, improving performance.
Responsive & PWA:
The interface adapts to different screen sizes such as desktops, tablets, and mobile phones.
On mobile devices, the tag sidebar automatically collapses and can be invoked via the "Tags" button.
Supports adding to the home screen, providing offline access.
Optimized Tag Selection: After typing #, a list of matching tags is directly displayed, without additional prompt text.
Mobile Input Optimization: In mobile browsers, the Enter key defaults to line breaks, providing a more natural input experience.
This is the simplest way to start, avoiding issues caused by local environment differences.
Build and Start Container
In the project root directory, run the following command:
docker-compose up --build
Docker will automatically build the image and start the service. The local taskgo.db file (if it exists) and static folder will be packaged into the image.
Access the Application
Open http://localhost:8080 in your browser.