A bluetooth chat
A simple bluetooth chat iOS and macOS application
Technology | Purpose |
---|---|
SwiftUI |
Design UI |
Bluetooth |
Communication between the devices |
IconCreator |
Generate application Icon (my own library) |
Please check this repository to learn more about the notation I used to create the diagrams in this project.
This diagram shows all the groups the application has, along with their structures. Some groups are simplified, while others are more detailed.
These diagrams illustrate the relationship between screens from view
and viewmodel
classes. The arrows from the View Models represent View Data objects (structs that hold all the necessary data for the view to display), primitives, or collections encapsulated by Publishers, which are artifacts that encapsulate data streams. Every update in the View Data triggers the Publisher to emit these new values to the view
, and the view updates automatically. Typically, the methods called from screens in view
to classes in viewmodel
trigger these changes, as represented in the diagram below by arrows from the view
screens to viewmodel
classes.
View Datas are structs that hold all the data the view
needs to present. They are created from model
structs and served by View Models to the view
. This diagram represents all the associations among the artifacts in the view.viewdata
.
View Models serve the view
with objects made from view.viewdata
structs, collections, or primitive objects encapsulated by Publishers. This diagram represents all the associations among the artifacts in viewmodel
and view.viewdata
.
View Models also serve as a façade, triggering methods in model.repository
structs. This diagram shows that each View Model has its own repository struct and illustrates all methods each View Model calls, represented by arrows from View Models to Repositories.
Model structs handle the logic of the application. This diagram represents all the associations among the structs in the model
.
These diagrams represent all the associations among the structs in model.repository
and model
.
Data Sources provide their repositories with all the needed data for the application. They contain modules that make requests to the Nominatim API and consult the database. This diagram represents all the associations among the artifacts in model.repository
, model.datasource
, and library
.
- Improve the stability. After some time, the connection between the devices is lost.
- Use Persistance.
- Create the app icon.
- Add more chat features.