explaingit

catchchat/yep

5,884SwiftAudience · developerComplexity · 3/5LicenseSetup · moderate

TLDR

The open-source Swift codebase for Yep, an iOS social app that connected people with expertise to those wanting to learn it, featuring messaging, feeds, audio and video, and skill-based profiles linked to GitHub and Dribbble.

Mindmap

mindmap
  root((yep iOS app))
    What it does
      Skill-based social
      Expert matching
      Messaging
    Tech stack
      Swift
      Realm database
      Storyboard MVC
    Features
      Phone verification
      Audio and video
      GitHub Dribbble profiles
    Contribution
      Fork and branch
      Git flow
      Trello board
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Study a real-world Swift iOS social app that uses Realm for local data and splits Storyboards to manage complexity.

USE CASE 2

Borrow the messaging and feed implementation as a starting point for your own iOS social or community app.

USE CASE 3

Learn how to pull public profile data from GitHub, Dribbble, and Instagram and display it on an iOS user profile screen.

USE CASE 4

Use the phone verification and user sign-in flow as a reference for building authentication in a Swift app.

Tech stack

SwiftRealmStoryboardMVC

Getting it running

Difficulty · moderate Time to first run · 1h+

Requires Xcode, Swift public interfaces must be Objective-C compatible, and contribution uses a git-flow develop-branch workflow.

MIT, use, modify, and distribute freely for any purpose including commercial, just keep the copyright notice.

In plain English

Yep is the open-source iOS app for a social networking service called "Meet Genius." The idea behind it was to connect people who are experts in a particular area with others who want to learn that same subject. The app was associated with the website soyep.com. The codebase is written in Swift and structured using the standard MVC pattern, which separates the app into three main concerns: data models, user interface, and the logic connecting them. Data is stored locally using Realm, a mobile database library. The interface is built with Storyboard files, split into smaller storyboard pieces to keep them easier to manage in version control. The app covers a range of services. It handles user sign-in and phone verification, messaging, audio and video downloads, feeds, cloud storage, and location services. It also pulls in public profile data from external platforms like GitHub, Dribbble, and Instagram to show alongside user profiles. Sharing to WeChat is handled through a lightweight open-source library called MonkeyKing rather than the official WeChat SDK. On the performance side, the project uses image caching to keep the interface smooth. The README links to a slide deck from an iOS conference that goes deeper into the performance techniques used. The project uses a standard open contribution workflow: fork the repo, create a branch from the develop branch using git flow, and submit a pull request when the work is done. Progress was tracked publicly on a Trello board. The app is licensed under MIT.

Copy-paste prompts

Prompt 1
I am building an iOS social app in Swift and want to implement a messaging feature like Yep. Show me how to structure the chat view controller using Realm for local message storage.
Prompt 2
Using the Yep codebase as a reference, how do I implement phone number verification and user sign-in in a Swift iOS app?
Prompt 3
I want to pull a user GitHub public profile and display it on my iOS app profile screen like Yep does. Write the Swift networking code to fetch and display a GitHub profile.
Prompt 4
Show me how Yep splits Storyboard files into smaller pieces in Xcode to make them easier to manage in version control with a team.
Open on GitHub → Explain another repo

← catchchat on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.