Mocha List is a task management system that allows users to create, organize, and track tasks. The system is designed to help users manage their daily activities and improve productivity.
The application supports deadlines and provides a structured way to manage tasks.
| Name | GitHub username |
|---|---|
| Andjela Kuzamanovski | @kuan23pc |
| Isabella Lazar | @issaabellaa |
| Christina Outra | @christinaoutra |
| Marina Alramo | @marinaalr |
I, Andjela Kuzamanovski, declare that I am the sole author of the content that I add to this repository.
I, Marina Alramo, declare that I am the sole author of the content that I add to this repository.
I, Isabella Lazar, declare that I am the sole author of the content I add to this repository.
I, Christina Outra, declare that I am the sole author of the content I add to this repository.
- Add new tasks
- Delete existing tasks
- Mark tasks as completed
- Set and update deadlines
- Add descriptions to tasks
- Filter tasks (all, active, completed)
- View all tasks in a list
- Save tasks in a file
- Load tasks from a file
- GUI interface for visual task management.
The application can be used in two different ways:
Users interact with the system by typing commands in the terminal.
Users can manage tasks visually using a Tkinter-based interface.
Both interfaces use the same data stored in a JSON file.
The project is implemented in Python 3.
Python is used because it provides the necessary functionality for handling user input, data structures, and file operations in a console-based application.
The program follows a modular structure with seperate functions for different responsibilities.
No external build system is required.
The application is executed using the Python interpreter and does not depend on external libraries.
The program is a task manager that can be run as both a CLI and GUI application.
To run the program, follow these steps:
-
Open a terminal
-
Clone the repository:
git clone https://github.com/kuan23pc/mocha_list.git
-
Navigate to the project folder by writing:
cd mocha_list -
Run the program by writing:
python main.py
python gui.py
You can find our Kanban Board here: Kanban Board
- Each feature will be developed in a separate branch
- Pull requests will be used before merging into main
- Code reviews will be done by team members
- No direct commits to the main branch
To run all unit tests, make sure you are in the root directory of the project.
Run the following command in the terminal:
python -m unittest discover -s unit_testsThis command will automatically find and execute all unit tests in the project.
The tests verify different functionalities of the system, including task creation, completion, and handling of invalid input.
To generate code coverage, install coverage:
python -m pip install coverageRun the tests with coverage:
python -m coverage run -m unittest discover -s unit_testsThen generate a report:
python -m coverage reportTo check code quality, install flake8:
python -m pip install flake8Run the linter:
python -m flake8 .This will analyze the code and display any style or formatting issues.