Giter Site home page Giter Site logo

yep's Introduction

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 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 intergrating WeChat or Weibo SDK, Yep uses 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.

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.

License

MIT

中文指南

yep's People

Contributors

asceticmonk avatar cee avatar coolzilj avatar joshlewis avatar kevinzhow avatar nixzhu avatar radarhere avatar rayps avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.