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

Dev #12

Merged
merged 43 commits into from
Nov 6, 2023
Merged

Dev #12

merged 43 commits into from
Nov 6, 2023

Conversation

helloItsHEssam
Copy link
Owner

No description provided.

helloItsHEssam and others added 30 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.
…ateView Property Wrapper

- Added theme color support to the project.
- Added Raleway font with three weights and dynamic type compatibility.
- Added the InstantiateView property wrapper for creating views using annotations.
…ize Updates, and Base View

- Added ListLabel, SubTitleLabel, and TitleLabel components.
- Added BaseCollectionView and Base ViewController.
- Updated font sizes for better readability.
- Added a Base View component in the project.
…nd Corner Radius Extension

- Added BaseCollectionCell for collection view cells.
- Added BorderCompositionalLayout to manage collection view layout.
- Implemented vertical layout for items in each row direction within the collection view.
- Added an extension for easily adding corner radius to views.
…istration Extension

- Added a SafeArea extension for safe area handling.
- Added a Pin to Superview extension for view positioning.
- Added an extension for easier registration and dequeuing of cells in collection views.
…ontroller

- Added the DiContainer protocol for creating suitable use cases.
- Added the HomeViewController for displaying the Transfer list.
- Added the BaseCollectionViewController in the UI module.
- Added LargeHeaderCell for displaying titles in each section.
- Added HomeCollectionViewDataSource for managing the diffable data source and cell display.
- Added the HomeItem component to assist with the diffable data source.
- Added the VerticalAccount Cell for displaying vertical account information.
- Added display of "All Title" and "All Account" in the view.
- Added the ViewModel for fetching data from the Use Case.
- Implemented a ViewModelFactory for easier creation of view models.
- Added DataTransfer for publishing new data to the UI from the ViewModel.
- Add PaginationMode to handle reaching the end of a page.
- Updated the Datasource based on the DataTransfer for improved data management.
helloItsHEssam and others added 13 commits November 6, 2023 16:12
…, and Local Data Fetching

- Added the AccountCell component.
- Implemented inheritance from AccountCell in VerticalAccountCell and FavoriteCell.
- Added data fetching from local sources and display of favorite items.
- Added the DetailViewController for displaying more account information.
- Added the HeaderInformationCell for presenting header content.
- Added the TitleValueCell for displaying title-value pairs.
…er, ViewModel Update

- Added functionality for saving and removing items from favorites.
- Updated the DetailViewController to reload data as needed.
- Enhanced the TransferViewModel to handle favorites addition or removal.
- Added the AddRemove component for managing these operations.
…st Update

- Added functionality for handling save or remove operations in the Favorites.
- Resolved the issue of displaying errors only for ViewControllers by adding an error publisher.
- Improved performance by replacing the @published property with PassthroughSubject.
…d Cell Size Modification

- Renamed multiple variables for improved clarity.
- Updated function names and combined two functions in the ViewModel.
- Set the width and height to 100 for the FavoriteAccountCell.
…entation

Feature/modularization presentation
- Added project documentation for improved clarity and understanding.
@helloItsHEssam helloItsHEssam merged commit c630f1e into main Nov 6, 2023
1 of 2 checks passed
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