Skip to content
ymichaeldev116Public

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Streamie 📡

Streamie is a native iOS application focused on real-time video streaming.
The project is structured with a TCA architecture and appears to provide camera preview, stream configuration, and RTMP-based streaming capabilities.

Demo 🎥

IMG_8851.1.MP4

Description

Streamie is an iOS app built with Swift and SwiftUI that enables users to configure and start live video streams.
It includes camera preview, stream status handling, configuration screens, and secure storage for sensitive data such as stream keys.

The architecture emphasizes modularity by separating app features, streaming logic, and shared infrastructure.


Tech Stack 🛠️

Category Technology / Tool
Platform iOS
Language Swift
UI Framework SwiftUI
Architecture TCA
Streaming Protocol RTMP
Secure Storage Keychain
Persistence UserDefaults
Tooling Xcode

Features ✨

  • 📷 Camera preview for live streaming
  • 📡 RTMP streaming client
  • ⚙️ Stream configuration and settings
  • 🔐 Secure storage using Keychain
  • 📊 Stream status and error handling
  • 🧩 Modular, feature-oriented project structure

Installation 🚀

  1. Clone the repository:
    git clone https://github.com/jewelboi14/Streamie.git
  2. Open the project in Xcode:
    open Streamie.xcodeproj
  3. Select a valid iOS device or simulator.
  4. Build and run the project.

Usage ▶️

  1. Launch the app.
  2. Configure streaming settings (e.g. stream URL / key).
  3. Preview the camera feed.
  4. Start the live stream.
  5. Monitor stream status and errors.

Project Structure 🗂️

Streamie
├── Features
│   ├── App              # App-level state and root view
│   ├── Configuration    # Stream configuration screens
│   └── Stream           # Streaming UI and logic
├── Stream               # Core streaming domain (RTMP, status, errors)
├── Keychain             # Secure credential storage
├── UserDefaults         # Lightweight persistence
├── Shared               # Shared constants and keys
└── Assets               # App icons and color assets

Environment / Configuration ⚙️

The app requires:

  • RTMP server URL
  • Stream key or credentials

These values appear to be:

  • Stored securely via Keychain
  • Persisted via UserDefaults for non-sensitive data

Roadmap 🧭

  • Improve error handling and recovery
  • Add stream quality presets
  • Support additional streaming protocols
  • Add analytics / stream metrics
  • UI polish and accessibility improvements

Contributing 🤝

Contributions are welcome!

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Open a pull request

Please follow Swift and SwiftUI best practices.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages