-
Notifications
You must be signed in to change notification settings - Fork 0
System
This section describes the technical implementation of the Help Me Help (HmH) application.
This section provides an overview of the technical structure and implementation of the Help Me Help (HmH) application. It describes the system architecture, project structure, and key components of the solution. The purpose of this section is to give the reader a clear understanding of how the application is organized and how different parts of the system interact.
The application follows a Model-View-Controller (MVC) architecture using JavaFX.
- Model – handles data and business logic
- View – JavaFX user interface
- Controller – connects user input with system logic
This structure helps separate responsibilities and makes the system easier to maintain and extend.
The project is structured into logical packages based on the MVC pattern. This makes it easier to separate responsibility between user interface, logic, and data handling. It also makes the code easier to read, maintain, and extend.
src
├── main
│ ├── java
│ │ └── no.ntnu.idatt1005.group03
│ │ ├── App.java
│ │ ├── Controller
│ │ ├── DAO
│ │ ├── Model
│ │ ├── Service
│ │ └── UI
│ └── resources
│ ├── images
│ └── styles
└── test
└── java
└── no.ntnu.idatt1005.group03
├── Controller
└── Model
The main packages in the project are:
- Model contains the domain classes used in the application, such as users, organizations, donations, and favorites.
- UI contains the JavaFX screens and user interface components.
- Controller contains the controllers that handle input from the UI and connect it to the rest of the system.
- DAO contains the classes responsible for database access and persistence.
- Service contains supporting functionality, such as communication with the external API.
- resources contains CSS files and images used by the application.
- test contains unit tests for selected parts of the system.
This structure supports separation of concerns and helped the team organize the code more clearly during development. As the project developed, parts of the code were refactored to follow MVC more consistently.
The project is managed using Git on NTNU’s GitLab (git.ntnu.no).
- Version control: Git
- Development strategy: Feature branches
- Continuous updates throughout the iterations
The following pages describe the system in more detail: