A command-line interface (CLI) application for managing your daily tasks. Users can add, list, complete, and delete tasks. The task list is persisted to a local file (e.g., JSON), so your tasks are saved between sessions.
What you'll build
This project is an advanced command-line interface (CLI) Task Manager built in Go. You will start by building a simple application to manage tasks (add, list, complete, delete) that are persisted in a local JSON file. As the project evolves, you will significantly enhance its capabilities to make it a robust, portfolio-ready application. These enhancements include adding features like task priorities, due dates, and tags. You will refactor the application to follow best practices in software architecture by separating concerns, preparing it for a seamless upgrade of the persistence layer from a simple JSON file to a more powerful SQLite database. You will also implement a professional CLI structure using the 'cobra' library, write unit tests to ensure code quality, and add user-friendly touches like formatted and color-coded output. This project is designed not just to teach you the fundamentals of Go, but to also instill good software engineering practices that are valuable for turning a project into a potential business or a standout piece in your portfolio.
What you'll learn
Roadmap
10 steps · 64 tasks