Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/CatchChat/Yep
Meet Genius
https://github.com/CatchChat/Yep
Last synced: 3 months ago
JSON representation
Meet Genius
- Host: GitHub
- URL: https://github.com/CatchChat/Yep
- Owner: CatchChat
- License: mit
- Created: 2015-03-15T13:41:37.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2024-04-10T16:26:13.000Z (11 months ago)
- Last Synced: 2024-10-29T15:29:31.650Z (4 months ago)
- Language: Swift
- Homepage: http://soyep.com
- Size: 50.2 MB
- Stars: 5,918
- Watchers: 229
- Forks: 1,219
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Yep
A community where geniuses meet
https://soyep.com

# Yep: Project Introductory Guide
> Please build with the latest CocoaPods v0.39.0 and Xcode 7.2.
## Intro
Yep is a nifty and lightweight social networking app, revolving around the theme of "Meeting Genius", enabling users to find experts or other learners of a particular domain.
The project's architecture is easy to understand, following the common software pattern MVC, separating UI, business logic and data model. Now, let's dive into the Yep project!
## Model
[Realm](https://realm.io) helps us a lot with data persistence. You can checkout the `Realm/Models.swift` file to learn how we add, modify, update or delete data in Realm database.
## UI(View & ViewController)
We use Storyboard to join different view controllers together. You can take a glance at the `Main.storyboard` file. Thanks to the **Storyboard References** feature, we break up storyboards into a set of smaller storyboards. Easy to maintain and handle `.storyboard` files under source control, right?
At the same time, you should notice that some views are `@IBDesignable`. You can use Interface Builder, drag the view out and observe changes.
## Activity
Without integrating WeChat or Weibo SDK, Yep uses [MonkeyKing](https://github.com/nixzhu/MonkeyKing/) with the native `UIActivityViewController`. See `Activities/WeChatActivity.swift`.
## Service
You can find all Services under `Services` directory. Our services are divided into following parts:
1. User-related operation service (`YepService.swift`): Sign-in, phone verification
2. User operation service (`YepServiceSync.swift`): Skills, messages
3. Network requests service (`YepNetworking.swift`): Network requests, JSON parsing/serialization
4. Data download service (`YepDownloader.swift`): Audio, video downloading
5. Feeds (`FayeService.swift`)
6. Cloud storage service (`YepStorageService.swift`)
7. Audio and video service (`YepAudioService.swift`): Based on AVFoundation and AudioToolbox
8. Location service (`YepLocationService.swift`)
9. Social info service (`SocialWorkService.swift`): Get user's GitHub, Dribbble and Instagram info
10. Open Graph Service (`OpenGraphService.swift`): Get iBooks, App and Apple Music info## Performance
In order to improve FPS rate, we do image caching (`Caches` folder).
Wants to learn more? View [this slide](https://github.com/atConf/atswift-2016-resources/tree/master/keynotes/周楷雯_Faster%20iOS%20App.key).
## Development
If you like to join us developing Yep, fork this repo and use git flow on `develop` branch to create a new branch for your developing. When you finish, send a pull request.
Please ensure each commit is minimized for code review.
Please stop using simulator's waterfall image as your avatar.
You can track our progress at [Trello](https://trello.com/b/gxmPfiAd/yep-ios).
## License
MIT
### [中文指南](Yep_Guide_Chinese.md)