eurofurence / ef-app_ios

iOS version of the official Eurofurence app
MIT License
5 stars 1 forks source link

Migrate to Core Data object model #498

Closed ShezHsky closed 1 year ago

ShezHsky commented 2 years ago

From #493:

Drop abstraction layers in model around objects and expose new NSManagedObject subclasses for entities. The model package will continue to own how we create, update and fetch them. Gradually move more behaviour into these objects (as with the current model refactor).

Define a new model using Core Data that produces an object graph for use within SwiftUI. The new model will be made available into SwiftUI's environment for rendering within views, swapping the app from MVP to MV. The model will continue to own almost all the complex logic around the app while the view provides structure for displaying the objects and routing between pages.

Work began on this in #497 with the definition of the model. Remaining tasks include:

Once the above are complete, we can begin to spike integration amongst various SwiftUI views in the variant.

ShezHsky commented 2 years ago

Addressed deletions in #501

ShezHsky commented 2 years ago

Message syncing addressed in #503

ShezHsky commented 2 years ago

Remote configuration addressed in #504

ShezHsky commented 2 years ago

Previewing addressed in #506