SwiftUI Component

This repository contains a collection of SwiftUI components that I have learned and developed as part of my journey to master SwiftUI.


The SwiftUI Component repository serves as a showcase of various custom UI components built using SwiftUI, Apple’s modern declarative framework for building user interfaces across Apple platforms. Each component is designed to demonstrate a specific SwiftUI concept or feature, providing examples that can be used as a reference for your own projects.

In this repository, I am presenting a server structure that can be utilized as a backend for a Direct App to be used in the future


The repository currently includes the following SwiftUI components:

  1. CustomButton: A customizable button with different styles and animations.
  2. ImageGallery: A scrollable image gallery with zooming capabilities.
  3. AnimatedTextField: A text input field with animated placeholder and validation.
  4. GradientView: A view with a gradient background.
  5. CircularProgressBar: A circular progress bar with customizable appearance.

Feel free to explore the repository and use these components in your SwiftUI projects. Each component comes with detailed documentation and code comments to help you understand how it works and how to integrate it into your own codebase.


  • Xcode 12 or later
  • SwiftUI framework


To use any of the components in your SwiftUI project, simply copy the corresponding files into your project directory. Make sure to add the necessary dependencies, if any, and follow any additional instructions mentioned in the component’s documentation.


Contributions to this repository are welcome! If you have any improvements or new SwiftUI components that you would like to share, feel free to submit a pull request. Please make sure to follow the established coding conventions and provide clear documentation for your contributions.


I would like to express my gratitude to the SwiftUI community for their continuous support and inspiration. This repository wouldn’t be possible without the collective effort of developers who share their knowledge and expertise.


If you have any questions, suggestions, or just want to connect, you can reach me at [[email protected]].


View Github