|
1 | 1 | %[text] %[text:anchor:T_F7E8B9B1] # **Creating a Flight Tracking Dashboard, Part 3: Using Modular Application Development Principles to Assemble the Dashboard**
|
| 2 | +%[text] **Foreword** |
| 3 | +%[text] Are you ready to take your app building skills to the next level? This article walks through an advanced workflow for assembling a flight tracking dashboard. While the techniques covered are targeted for experienced MATLAB developers, they offer a powerful foundation for building scalable, professional-grade applications. |
| 4 | +%[text] In this article, you'll learn how to: |
| 5 | +%[text] - Structure your code using the model-view-controller (MVC) design pattern |
| 6 | +%[text] - Build modular, reusable UI components |
| 7 | +%[text] - Design a dynamic and customizable frontend using the GUI Layout Toolbox |
| 8 | +%[text] - Incorporate responsive theme support for light and dark themes |
| 9 | +%[text] - Package and deploy a dashboard as a standalone app or web app \ |
2 | 10 | %[text] %[text:anchor:H_701E9FF1] **Overview**
|
3 | 11 | %[text] In the [second blog article](https://blogs.mathworks.com/graphics-and-apps/2024/07/31/creating-a-flight-tracking-dashboard-part-2-developing-an-aircraft-chart/) of this series, we saw how to develop a custom chart to encapsulate the 3D graphics and helper functions used to visualize the aircraft. We also discussed how a similar approach could be used to create a chart showing the current position of the aircraft on its flight route.
|
4 |
| -%[text] In this article, we'll see how to assemble the flight tracking dashboard by developing a series of modular components. First, we'll develop classes to store and organize the flight data. These classes represent the backend of the dashboard. Next, we'll create a series of frontend components for visualizing and manipulating the flight data. This separation of concerns follows the **model-view-controller software architecture** pattern for application development, explained in more detail in this [technical article](https://www.mathworks.com/company/technical-articles/developing-matlab-apps-using-the-model-view-controller-pattern.html) \[1\]. We will also make use of the latest release of [GUI Layout Toolbox](https://www.mathworks.com/matlabcentral/fileexchange/47982-gui-layout-toolbox) (which is now fully compatible with web graphics) to help organize the frontend components and allow the end user to configure the dashboard layout. |
5 |
| -%[text] Finally, we'll assemble the various components into a dashboard application suitable for sharing with end users, and discuss the options available for deploying the dashboard, focussing on web deployment. By the end of this article, we'll have a fully functional dashboard for tracking flight data running as a web app. |
| 12 | +%[text] In this article, we'll see how to assemble the flight tracking dashboard by developing a series of modular components. First, we'll develop classes to store and organize the flight data. These classes represent the backend of the dashboard. Next, we'll create a series of frontend components for visualizing and manipulating the flight data. This separation of concerns follows the **model-view-controller software architecture** pattern for application development, explained in more detail in this [technical article](https://www.mathworks.com/company/technical-articles/developing-matlab-apps-using-the-model-view-controller-pattern.html) \[1\]. We will also make use of the latest release of [GUI Layout Toolbox](https://www.mathworks.com/matlabcentral/fileexchange/47982-gui-layout-toolbox) (which is now fully compatible with the JavaScript-based graphics system introduced in R2025a) to help organize the frontend components and allow the end user to configure the dashboard layout. |
| 13 | +%[text] Finally, we'll assemble the various components into a dashboard application suitable for sharing with end users, and discuss the options available for deploying the dashboard, focusing on web deployment. By the end of this article, we'll have a fully functional dashboard for tracking flight data running as a web app. |
6 | 14 | %[text] All the code used in this series of blog articles is available on [GitHub](https://github.com/MATLAB-Graphics-and-App-Building/flight-tracking-dashboard).
|
7 | 15 | %[text] 
|
8 | 16 | %[text:tableOfContents]{"heading":"Table of Contents"}
|
|
24 | 32 | %[text]
|
25 | 33 | %[text] end % classdef
|
26 | 34 | %[text] ```
|
27 |
| -%[text] We handle data input using the class constructor. This takes a filename as input, and imports the data using `readtimetable`. The validation that we've built in ensures that the imported data has all the variables we need. |
| 35 | +%[text] We handle data input using the class constructor. This takes a filename as input and imports the data using `readtimetable`. The validation that we've built in ensures that the imported data has all the variables we need. |
28 | 36 | %[text] ```matlabCodeExample
|
29 | 37 | %[text] function obj = FlightPathData( filename )
|
30 | 38 | %[text] %FLIGHTPATHDATA Construct a FlightPathData object.
|
|
0 commit comments