Giter Site home page Giter Site logo

mobiledev-wechatmoments-swift's Introduction

Requirements

  1. Node.js version 12.0+ Download
  2. Cocoapods - sudo gem install cocoapods
  3. npm - via Node.js installer or nvm

Setup the project

  1. Locate the current directory in terminal
  2. Execute pod install (or sudo arch -x86_64 gem install ffi && arch -x86_64 pod install for Apple M1)
  3. Execute npm install -g mountebank
  4. Execute mb --configfile imposters.ejs
  5. Open WeChatMoments.xcworkspace in the current directory
  6. Run the project and make sure the app can start correctly(don't worry about if the features are working properly)

App Introduction

The code is an iPhone app which looks like Wechat Moments page.

We have some requirements during building this app, and you should also try to follow these requirements:

Project overview

The below screenshots are from Wechat App, they are for reference/inspiration these do not represent the actual output from the given codebase.

wechat_moments_2 wechat_moments_3 wechat_moments_1

  • The project is an iPhone app which looks like Wechat Moments page.
  • The page consists of profile image, avatar and tweets list
  • For each tweet, there will be a sender, optional content, optional images and comments
  • A tweet contains from 0 to 9 images
  • Pulling down table view to refresh, only first 5 items are shown after refreshing
  • All tweets are fetched and stored in memory at the first time and only show first 5 of them at the beginning and after refresh.
  • Show 5 more while user pulling up the view at the bottom of the table view.
  • Supports layout on all kinds of iOS device screen and orientation.
  • This is a static page.

Tech requirements:

  • The data JSON will be hosted at localhost:2727
  • An example of the response in WeChatMomentsTests/Resources/Tweet.json
  • Layout using storyboards or programmatically
  • AutoLayout & Size Classes is appreciated.
  • Unit tests are appreciated.
  • Functional programming is appreciated
  • Utilise GCD for multi-thread operation
  • Only binary, framework or Cocopods dependency is allowed. do not copy other developer's source code(*.h, *.m, *.swift) into your project
  • Keep your code clean as much as possible Production and Technical requirements are weighing equally in the final result.

mobiledev-wechatmoments-swift's People

Contributors

chrisza-tw avatar diasdecode avatar jie-meng avatar jwyterlin avatar liliandias-tw avatar nikhilmufc7 avatar shebin-tw avatar tbbruno avatar wolesolana avatar xguo-tw 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.