The goal of this project is to create a todos cli app in Go to learn the basics of Go. At the beginning, I did the project with a csv file and after that I change to an sqlite database. But there is a way to export in csv or json
- Install all dependencies.
- Create CRUD interaction with the database.
- Create the
createcommand (Initialize the database). - Create the
addcommand (Add a todo in the database). - Create the
listcommand (List all todos which come from the database)- View only the todos which are not done.
- When there is the flag
-aor--allview all todos (done and not done).
- Create the
donecommand. - Create the
exportcommand.- Export in JSON.
- Export in CSV.
- Export in HTML.
- If no format argument provided open a TUI with huh to choose the format.
- Create a
removecommand (Delete a todo with his id).- Add a confirm TUI interface.
- Add a force flag.
- Create the
resetcommand (Delete the database).- Add a confirm TUI interface.
- Add a force flag.
- Create a better error handling.
- Create tests.
- Create a Makefile.
- Add Github Actions