Skip to content

seth-folley/SearchOverflow

Repository files navigation

SearchOverflow codecov Build Status

An iOS search client for StackOverflow using Stack Exchange API v2.2.

SeachOverflow is an iOS app that provides a simple interface for its users to search StackOverflow. With SearchOverflow, you can also view individual question details (includes a display of answers). Currently, all questions are sorted, in descending order, based on their "score" which is the net of that question's up/down votes. All answer lists will show answers with the accepted answer (if available) first, then sorted by score.

Features

  • Search StackOverflow using the Stack Exchange API
  • Inifinite scrolling of questions found
  • Question details page to see the answers for specific questions
  • Markdown View to show question/answer bodies
  • Simple Unit Tests

Requirements

  • iOS 11.0+
  • Xcode 10.0+
  • Cocoapods

Installation

Clone or download this repo.

CocoaPods is neccessary to run SearchOverflow. Using the terminal, navigate to the directory of this project and run:

pod install

Project Thoughts

3rd Party Libraries

I chose to use three 3rd party libraries via cocaopods, all of which are for UI:

  1. Down - "Blazing fast Markdown (CommonMark) rendering in Swift, built upon cmark v0.28.3."
  2. Kingfisher - "a powerful, pure-Swift library for downloading and caching images from the web."
  3. NVActivityIndicatorView - "is a collection of awesome loading animations."

Improvements

Below (in Future Improvements), I've listed some additional improvements to make to this project. Being more descriptive: I would like to add additional units test to the view controllers (specifically looking at you infinite scroll), as well as UI Testing and integration testing. On the topic of inifinite scroll, this technique can have the potential to create a massive array of question arrays which would not be very effecient. I would like to refine this technique into something that might only have ~100 (or some fixed number) questions available at a time. Improvements can also be made to give the UI a little bit more a "feel."

Future Improvements

  • Refine infinite scroll to not have the potential for MASSIVE arrays
  • More Unit Tests
  • Search filtering by tags
  • Search ordering by views, score, date, etc
  • Refine UI
  • Splash to Home animation

About

iOS Client to search StackOverflow

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published