Models integration bases #40

Merged
maxime.batista merged 6 commits from models/endpoint into master 2 years ago

This pull request introduces some noticeable changes to the current application.

Overall architecture

This pull request changes the architecture of the current application, by splitting it in four modules :

The Models module

The ShopNCook.Models where moved in an external module named Models.
This module contains the models structures (in Models)

Endpoint

The Endpoint Module contains interfaces for the ShopNCook application to use regardless of the real endpoint.
This allows us to make mocks for tests and stub implementation (c.f LocalEndpoint) during the application developpment.
The IEndpoint interface is the core structure of the Endpoint module.
This interface contains all the provided services, such as the Account Manager (for now).

When the application is started, the implementation of the endpoint is chosed by the App class in App.xaml.cs.

The LocalEndpoint module

The LocalEndpoint is an implementation of the Models.API interfaces which contains very simple hardcoded data and logic in order to simulate a server endpoint, which will replace the current endpoint implementation in the future.

Other additions, features

Some other minor changes

User notifications

The application currently has no way to send notifications (meaning a popup message) to the user.
This pull request introduces a UserNotifier interface, with a ConsoleUserNotifier implementation that prints the app's notices in the console. It'll be needed for a future PR to implement a notifier to show popups directly in the application.

This pull request introduces some noticeable changes to the current application. ## Overall architecture This pull request changes the architecture of the current application, by splitting it in four modules : ![](https://i.ibb.co/VJVJbCs/Diagramme-sans-nom-drawio.png) ## The Models module The `ShopNCook.Models` where moved in an external module named `Models`. This module contains the models structures (in `Models`) ## Endpoint The Endpoint Module contains interfaces for the ShopNCook application to use regardless of the real endpoint. This allows us to make mocks for tests and stub implementation (c.f LocalEndpoint) during the application developpment. The `IEndpoint` interface is the core structure of the Endpoint module. This interface contains all the provided services, such as the Account Manager (for now). When the application is started, the implementation of the endpoint is chosed by the `App` class in `App.xaml.cs`. ## The LocalEndpoint module The `LocalEndpoint` is an implementation of the `Models.API` interfaces which contains very simple hardcoded data and logic in order to simulate a _server_ endpoint, which will replace the current endpoint implementation in the future. ## Other additions, features Some other minor changes ### User notifications The application currently has no way to send notifications (meaning a popup message) to the user. This pull request introduces a `UserNotifier` interface, with a `ConsoleUserNotifier` implementation that prints the app's notices in the console. It'll be needed for a future PR to implement a notifier to show popups directly in the application.
maxime.batista added 6 commits 2 years ago
continuous-integration/drone/push Build is passing Details
6ac6c731d0
split AppShell in MainAppShell and ConnectAppShell
continuous-integration/drone/push Build is passing Details
fe44bf737d
Implement stub endpoints and stub login logic
continuous-integration/drone/push Build is passing Details
7a0eb8d0da
bind profile picture image between HomePage and Account
continuous-integration/drone/push Build is passing Details
bf95cc70a5
fix logout
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2857b1463e
move Models.API in Endpoint module
maxime.batista self-assigned this 2 years ago
maxime.batista requested review from leo.tuaillon 2 years ago
maxime.batista requested review from daryl.oyono 2 years ago
maxime.batista removed review request for daryl.oyono 2 years ago
leo.tuaillon approved these changes 2 years ago
leo.tuaillon left a comment
Owner

Perfect, approved!

Perfect, approved!
maxime.batista merged commit d9abce1972 into master 2 years ago
maxime.batista deleted branch models/endpoint 2 years ago

Reviewers

leo.tuaillon approved these changes 2 years ago
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
The pull request has been merged as d9abce1972.
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: leo.tuaillon/ShopNCook#40
Loading…
There is no content yet.