223.1 File and folder structure
Organise your project files clearly to support growth, testing, and collaborative development.
Before you begin programming, it’s essential to design your file structure to support a modular and maintainable project. A consistent layout will help you locate files easily, separate your logic from your interface, and prepare for testing and documentation later in the project.
In this section, you’ll create the foundational folders and files for your Task Tracker app, mirroring the conventions used in professional software projects.
Recommended layout
Create the following folder and file structure in your IDE:
task-tracker/
│
├── main.py # Entry point for the app (manual test runner)
├── task.py # Contains the Task class
├── task_manager.py # Contains the TaskManager class
│
├── docs/ # Project documentation and sprint logs
│ ├── sds.md # Software Design Specification
│ ├── sprint1_log.md # Completed sprint log
│ └── git_workflow.md # Git usage instructions
│
├── README.md # Overview of the project
├── .gitignore # Excludes files from version control
Explanation
main.py
is your app’s entry point. This is where you’ll manually test your code until user input is introduced.task.py
andtask_manager.py
contain the core classes that define your system’s behaviour and data.The
docs/
folder holds planning and documentation files that grow throughout the project. These should be version-controlled but kept separate from the source code..gitignore
ensures that temporary files, caches, or IDE-specific folders are not pushed to GitHub.README.md
introduces the project, explains how to run it, and documents its purpose and progress.
Next steps
In the following sections, you will initialise the development environment, generate your GitHub SSH key, and create class files with method stubs that align with your initial design plan.
Last updated
Was this helpful?