Code Monkey home page Code Monkey logo

flaneuropen's Introduction

FlaneurOpen logo

FlaneurOpen

CI Status Version License Platform

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

Google Maps API Key

This application requires a Google Maps API Key. It will be read from a file at Example/FlaneurOpenSecretInfo.plist. For security reasons, this file does not exist in this repository. To create it, please set your API Key as GOOGLE_PLACES_FLANEUR_API_KEY in your environment variables and run the script ./createAPIKeysPlist.sh from the Example directory.

Installation

FlaneurOpen is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "FlaneurOpen"

Release

To release a version of this pod, please follow these instructions at Cocoapods.

Author

FlaneurApp, [email protected].

License

FlaneurOpen is available under the MIT license. See the LICENSE file for more info.

Credits

flaneuropen's People

Contributors

dirtyhenry avatar

Watchers

 avatar James Cloos avatar

flaneuropen's Issues

Create NSLayoutConstraint helper

Now that we do a lot of autolayout stuff programmatically, it would be great to have some basic helper managing diffs to a border.

Add a IGListKit-backed form building tool, part 1

For the Flaneur iOS app, we need a system to build forms conveniently.

It includes:

  • A text field with a label
  • A text area with a label
  • A button to select an image with a label
  • The option to enable/disable a button somewhere (most likely on the navigation bar)
  • The option to "jump" from field to field

Add a IGListKit-backed form building tool, part 2

Once #16 is completed,

  • Add a selection tool using an horizontally scrolling collection view of items with different views
  • Add the option to select an arbitrary number of images
  • Add an optional action destructive button

Add userInfo to FlaneurCollectionFilter

It would be super convenient to attach any kind of information to a filter so that when it's removed, we can get more information about what we're supposed to do.

Support multiselection of cells in FlaneurCollectionView

We need to support multiselection of cells.

To do so, we should provide a readonly access to the collection view so that the client can set allowsMultipleSelection to true and the delegate method should support deselection.

Create a PseudoNavBar UIView

The Flaneur app is using a pseudo-nav bar that is more than 44px high.
As such, a view to factorize this behavior would be great.

Specs:

  • It can have a plain title alone, left aligned or center aligned.
  • It can have 1 optional left button item with configurable behavior
  • It can have optional right button items with configurable behavior:
    • Either 1 text
    • Or multiple icons

It style should be configurable via UIAppearance so that configuring it once and for all is enough.

Fix cell selection management in FlaneurFormSelectElementCollectionViewCell

Cell selection management is not the most convenient part of UIKit and it makes FlaneurFormSelectElementCollectionViewCell buggy as it is as when marking a cell as selected prevent it from being further deselected.

UICollectionView seems to manage some internal state that is not synchronized between cells' isSelected and UICollectionView's indexPathsForSelectedItems.

Filtered Collection View

We need a tool to manage a collection view on 2 columns, with an optional filter mechanism.

  • It should allow another component to style the cell
  • It should allow to manage margins conveniently
  • It should display a banner of filters, that operate under an inclusive basis (OR)

Efficient collection view

Flexible collection view displaying cells from a server.
It should deal with:

  • no data
  • no network
  • efficiency

We'll use it as a POC with IGListKit

Loading Collection View Cell

Sometimes cells need to display data from the network and we need a spinner to show an activity is going on but then, many outcomes can happen:

  • success: the data is here
  • failure: the data failed for many reasons. For instance, geolocation might have failed because there is no network, because the user does not allow to request his location (and maybe we can politely ask him to reconsider), etc.

We need something similar to what the Swift Talk guys are doing in their Swift Talk #3 - Loading View Controllers video.

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.