Skip to content

Conversation

darkbringer1
Copy link
Collaborator

@darkbringer1 darkbringer1 commented Feb 11, 2024

No description provided.

@darkbringer1 darkbringer1 added the enhancement New feature or request label Feb 11, 2024
@darkbringer1 darkbringer1 self-assigned this Feb 11, 2024
@darkbringer1 darkbringer1 marked this pull request as draft February 11, 2024 13:20
darkbringer1 and others added 25 commits February 12, 2024 14:48
First commit of readme file in english
Add shortcuts to sections
Remove:
-Framework dependencies
Add:
-Spm dependencies to the project
-Firebase auth initialization

# Conflicts:
#	Project.swift
#	Resources/GoogleService-Info.plist
#	Targets/SwiftBuddiesLogin/Sources/LoginView.swift
#	Targets/SwiftBuddiesMain/Sources/AppMain.swift
#	Tuist/Package.swift
Remove:
-Framework dependencies
Add:
-Spm dependencies to the project
-Firebase auth initialization

# Conflicts:
#	Project.swift
#	Resources/GoogleService-Info.plist
#	Targets/SwiftBuddiesMain/Sources/AppMain.swift
#	Tuist/Package.swift
Fatihozn and others added 30 commits February 10, 2025 12:48
### Issue Link 🔗
#23

### Goals ⚽
To show the community logo in the README file

### Implementation Details 🚧
There is no architectural changes or new functionality.

### Testing Details 🔍
Reviewed Changes in Pushed Branch

### Screenshots/Gifs 📷
<img width="875" alt="Screenshot 2024-09-11 at 02 30 18"
src="https://github.com/user-attachments/assets/f24721d8-852d-42bb-933d-79cb820330ab">


## PR Type
What kind of change does this PR introduce?
- [x] Documentation content changes
### Issue Link 🔗
<!-- What is your redmine link for this task? -->
[37](#37)
[38](#38)

### Goals ⚽
<!-- List the high-level objectives of this pull request. -->
<!-- Include any relevant context. -->
Update userLocation and fetch eventData

### Implementation Details 🚧
<!-- Explain the reasoning behind any architectural changes. -->
<!-- Highlight any new functionality. -->
I resolved the user location update issue and optimized the GET request
with a caching mechanism which is new in network layer.

### Testing Details 🔍
<!-- Describe what tests you've added for your changes. -->

### Screenshots/Gifs 📷
<!-- Add screenshots or Gifs when appropriate. -->

<img
src="https://github.com/user-attachments/assets/78b1edcb-d2a0-41a1-aebe-1f520ac88663"
width="150">

## PR Type
What kind of change does this PR introduce?

<!-- Please check the one that applies to this PR using "x". -->

-[x] Bugfix
- [x] Feature
- [ ] Code style update (formatting, renaming)
- [ ] Refactoring (no functional changes, no api changes)
- [ ] Build related changes
- [ ] Documentation content changes
- [x] Other... Please describe:
### Issue Link 🔗
<!-- What is your redmine link for this task? -->

### Goals ⚽
<!-- List the high-level objectives of this pull request. -->
<!-- Include any relevant context. -->
Profile and profile edit page created
### Implementation Details 🚧
<!-- Explain the reasoning behind any architectural changes. -->
<!-- Highlight any new functionality. -->
Profile module (Profile page and profile edit page) created including
API Calls
### Testing Details 🔍
<!-- Describe what tests you've added for your changes. -->

### Screenshots/Gifs 📷
<!-- Add screenshots or Gifs when appropriate. -->
<img
src="https://github.com/user-attachments/assets/ecbcd8ea-e2aa-4be5-ac44-7a70e4669b94"
width="150">
<img
src="https://github.com/user-attachments/assets/c4cb6ea7-c814-4a00-b7bd-a15d5dba22f9"
width="150">

## PR Type
What kind of change does this PR introduce?

<!-- Please check the one that applies to this PR using "x". -->

- [ ] Bugfix
- [x] Feature
- [ ] Code style update (formatting, renaming)
- [ ] Refactoring (no functional changes, no api changes)
- [ ] Build related changes
- [ ] Documentation content changes
- [ ] Other... Please describe:
Update feed views
### Issue Link 🔗
<!-- What is your redmine link for this task? -->

### Goals ⚽
<!-- List the high-level objectives of this pull request. -->
<!-- Include any relevant context. -->
- Update profile view to comply with app architecture
### Implementation Details 🚧
<!-- Explain the reasoning behind any architectural changes. -->
<!-- Highlight any new functionality. -->
- Implement navigation stack
- Rearrange filesystem
- Create relevant view files
- Declutter views
- Extract view components
- Add button showcase

### Testing Details 🔍
<!-- Describe what tests you've added for your changes. -->
-
### Screenshots/Gifs 📷
<!-- Add screenshots or Gifs when appropriate. -->

<img
src="https://github.com/user-attachments/assets/8d0ab1f3-2ef1-41f7-89be-21271baa87e9"
width="150">

## PR Type
What kind of change does this PR introduce?

<!-- Please check the one that applies to this PR using "x". -->

- [ ] Bugfix
- [x] Feature
- [x] Code style update (formatting, renaming)
- [x] Refactoring (no functional changes, no api changes)
- [ ] Build related changes
- [ ] Documentation content changes
- [ ] Other... Please describe:
## Summary

This MR implements a modular architecture for the BuddiesIOS app using
Tuist for project generation. The modular approach divides the
application into separate concerns, enhancing maintainability,
testability, and collaboration efficiency among team members. Each
module is structured to be self-contained with clear dependencies,
promoting clean architecture principles.

## Relevant domains
- Architecture
- Project Structure
- Dependency Management

## Structure

The modular architecture is implemented using the following key
components:

- Created modular framework structure with the following modules:
  - `Auth`: Authentication functionality
  - `Contributors`: GitHub contributors display
  - `Core`: Core application features and dependency container
  - `Design`: UI components and design system
  - `Feed`: Social feed functionality
  - `Localization`: Localization resources
  - `Network`: Networking layer

Dependencies between modules are clearly defined, with each module
specifying its dependencies in the `Project.swift` file. The
architecture follows a clean dependency graph to prevent circular
dependencies.

```mermaid
graph TD
    A[App] --> B[Core]
    A --> C[Design]
    A --> D[Auth]
    A --> E[Contributors]
    A --> F[Feed]
    B --> D
    B --> G[Network]
    C --> H[Localization]
    E --> B
    E --> C
    F --> B
    F --> C
    G --> I[BuddiesNetwork]
    D --> G
```

Each module is configured using the `Project.module` extension that
standardizes the module creation process, including:
- Consistent naming conventions
- Common deployment targets
- Resource management
- Module dependencies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.