Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pull request from 'Feature/modularization-data' to 'Feature/modularization' #3

Merged
merged 18 commits into from
Nov 5, 2023

Conversation

helloItsHEssam
Copy link
Owner

Introduce API Protocol, DTO Models, Alamofire, Mapper, Database Protocol, Core Data Transformer, Relationships, and Local Protocol

  • Added an API protocol for network access in repositories.
  • Included DTO models for JSON data conversion.
  • Integrated the Alamofire library for API calls.
  • Added a Mapper component for DTO to entity conversion.
  • Added a Database protocol for repository usage.
  • Implemented a Core Data transformer for custom object storage.
  • Added one-to-one relationships and a Local protocol for improved repository functionality.

helloItsHEssam and others added 18 commits November 4, 2023 22:00
- added the .gitignore file, The file copied from 'https://cocoacasts.com/a-gitignore-for-swift-projects' url.
- Added the `Person` entity to store personal information including name and avatar.
- Added the `Card` entity to hold card number data.
- Added the `CardTransferCount` entity for tracking transfer counts.
- Added the `PersonBankAccount` entity to combine and manage these entities.
- Added the `PersonBankAccountError` enum for error handling.
- Added the `PersonBankAccountRepository` for communication between the Domain and Data layers.
- Added the `PersonBankAccountUseCase` for interactions with the Presentation Layer.
- Added an extension to `AnyPublisher` for integrating async/await with the Combine framework.
…kflow for Domain Layer, Including Linting and Testing

- Enhanced the AnyPublisher extension to include a constraint on the error type, ensuring it aligns with the PersonBankAccountError type and avoiding forced casting within the extension.
- Added a GitHub workflow for the Domain package to run linting and tests on every pull request.
- Added support for macOS 10.15 and iOS 14 within this package.
Pull request from 'Feature/modularization-domain' to 'Feature/modularization'
- Added an API protocol to facilitate network access used by repositories.
- Added the API Router for creating endpoints.
- Added DTO models for converting JSON data from the server.
- Added the Alamofire third-party library for simplified API calls.
- Added a Mapper component for converting DTOs to entities and vice versa.
- Renamed the Network folder to Http for improved clarity.
- Created the `PersonBankAccountRepositoryImpl` and implemented account fetching functionality.
- Added a Database protocol for repository usage.
- Added a Database Error for improved error handling.
…sistent Container

- Added a Core Data transformer for saving custom objects.
- Converted `CardDTO`, `PersonDTO`, and `CardTransferCountDTO` to classes.
- Added the Persistent Container for Core Data usage in the Swift Package Manager.
- Added one-to-one relationships between accounts, persons, and cards to facilitate filtering.
- Added a Local protocol for repository usage.
- Added two new entities in the schema database.
- Added local repository integration in the `PersonBankAccountRepositoryImpl` to store data in the database.
…main

Add Update of Favorite Status If Exist in Database
- Added a GitHub workflow to perform linting and tests on the Data package for every pull request.
- Added a fetch index to database to enhance performance.
@helloItsHEssam helloItsHEssam merged commit 41f5e00 into main Nov 5, 2023
1 of 2 checks passed
@helloItsHEssam helloItsHEssam deleted the feature/modularization-data branch November 5, 2023 19:08
@helloItsHEssam helloItsHEssam restored the feature/modularization-data branch November 5, 2023 19:31
@helloItsHEssam helloItsHEssam deleted the feature/modularization-data branch November 5, 2023 19:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant