Start interactive tutorial

← Back to Projects

Todo List CLI with Python

Difficulty

  • easy

Average duration

8 hrs

Technologies

Difficulty

  • easy

Average duration

8 hrs

Technologies

Todo List CLI in Python

Todo List CLI in Python


🎯 Challenge

You have joined the internal tools team at a small logistics company. Operations coordinators currently track pending tasks in chat messages and sticky notes, and they keep losing important follow-ups between shifts. Your product manager asked for a lightweight command-line tool that any team member can run quickly in the terminal to manage daily tasks.

The tool should let coordinators register new tasks as they come in, review the full list at any time, and remove completed tasks by selecting their list position. Since teams may close and reopen terminals throughout the day, they also need to store tasks in a local file and reload them later without losing progress.

Your product manager shared this functional brief:

Required behavior

  • Add one new task by title
  • Display all pending tasks with their numeric position
  • Delete one task by its position in the list
  • Save tasks into a todos.csv file
  • Load tasks back from todos.csv
  • No task editing flow is needed for this version; users should delete and recreate tasks instead

Build the first usable version so the operations team can test it this week.


🌱 How to Start the Project

  • Open this link in your browser using Codespaces (recommended): https://github.com/codespaces/new/?repo=4GeeksAcademy/python-hello
  • Or clone the starter template locally:
1git clone https://github.com/4GeeksAcademy/python-hello
  • If you work locally, make sure Python is installed
  • Run python3 app.py to verify your environment works
  • Run python3 test.py to execute the tests
  • Create your own GitHub repository for delivery and update remote URL with git remote set-url origin <your-new-url>
  • Follow the full project bootstrap guide here: how to start a coding project

💻 What You Need to Do

⚠️ IMPORTANT: Use only Python standard library tools for file I/O and CLI interaction in this project version.


✅ What We Will Evaluate

Note: Task editing (update-in-place) is out of scope for this exercise.


📦 How to Submit

Push your solution to your own GitHub repository and share the repository URL according to your instructor's instructions.


This and many other projects are built by students as part of the Career Programs at 4Geeks Academy. By @4GeeksAcademy and other contributors. Find out more about AI Engineering, Data Science & Machine Learning, Cybersecurity and Full-Stack Software Developer with AI.

Sign up and get access to solution files and videos for free

We will use it to give you access to your account.
Already have an account? Login here.

By signing up, you agree to the Terms and conditions and Privacy policy.

Difficulty

  • easy

Average duration

8 hrs

Technologies

Difficulty

  • easy

Average duration

8 hrs

Technologies

Difficulty

  • easy

Average duration

8 hrs

Technologies

Difficulty

  • easy

Average duration

8 hrs

Technologies

Sign up and get access to solution files and videos for free

We will use it to give you access to your account.
Already have an account? Login here.

By signing up, you agree to the Terms and conditions and Privacy policy.

Difficulty

  • easy

Average duration

8 hrs

Technologies

Difficulty

  • easy

Average duration

8 hrs

Technologies