SuggestionsBox alternatives and similar libraries
Based on the "Form & Settings" category.
Alternatively, view SuggestionsBox alternatives based on common mentions on social networks and blogs.
-
ValidatedPropertyKit
Easily validate your Properties with Property Wrappers 👮 -
formvalidator-swift
A framework to validate inputs of text fields and text views in a convenient way. -
GenericPasswordRow
A row for Eureka to implement password validations. -
ATGValidator
iOS validation framework with form validation support -
ValidationToolkit
Declarative data validation framework, written in Swift -
FDTextFieldTableViewCell
A UITableViewCell with an editable text field -
LightForm
Simple interactive and customizable library to handle form input and validations.
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of SuggestionsBox or a related project?
README
SuggestionsBox
An iOS library to aggregate users feedback about suggestions, features or comments in order to help you build a better product.
Swift Versions
Why SuggestionsBox?
- [x] Aggregates customer feedback
- [x] Let your customer decide
- [x] Build the most voted suggestion
- [x] Build a better product
Features
- [x] List and add new suggestions
- [x] Comment and vote other suggestions
- [x] Search inside Titles and Descriptions
- [x] Customizable colors and strings
- [x] Localizable
Demo App
Run the demo app and play with it! Demo App
Demo Project
To run the example project, clone the repo, and run pod install
from the Example directory first.
Getting Started
Requirements
Requires iOS SDK version > 8.0
Requires Swift 3.0
Installation with CocoaPods
[CocoaPods](cocoapods.org) is a 3rd-party dependency manager for Swift and Objective-C projects. For more information, refer to the CocoaPods Getting Started Guide. Otherwise, you can install CocoaPods with the following command:
$ gem install cocoapods
Podfile
To integrate MEVHorizontalContacts into your Xcode project using CocoaPods, specify it in your Podfile
:
source 'https://github.com/CocoaPods/Specs.git'
pod 'SuggestionsBox'
Then, run the following command:
$ pod install
Installation Manually
To integrate SuggestionsBox into your Xcode project manually, just include the filest from /Pod/Classes/ folder in your App’s Xcode project.
Then, import the following file your classes:
import SuggestionsBox
Quick Guide
Usage
1. Import class
import SuggestionsBox
2. Add Delegate protocol.
class ViewController: UIViewController, SuggestionsBoxDelegate {
}
3. Create, initialize and add SuggestionsBox.
let suggestionsBox = SuggestionsBox()
suggestionsBox.delegate = self
SuggestionsBoxTheme.user = "Manuel"
SuggestionsBoxTheme.appName = "SuggestionsBox"
SuggestionsBoxTheme.title = "SuggestionsBox"
SuggestionsBoxTheme.headerText = "Suggest a new feature, tweak, improvement... We'd love to hear your sugestions!"
SuggestionsBoxTheme.footerText = "Powered by SuggestionsBox"
SuggestionsBoxTheme.newSuggestionFooterText = "Powered by SuggestionsBox"
SuggestionsBoxTheme.newCommentFooterText = "Powered by SuggestionsBox"
SuggestionsBoxTheme.navigationBarHeartColor = UIColor.redColor()
SuggestionsBoxTheme.tableSeparatorColor = UIColor.groupTableViewBackgroundColor()
SuggestionsBoxTheme.tableCellBackgroundColor = UIColor.whiteColor()
SuggestionsBoxTheme.tableCellTitleTextColor = UIColor.blackColor()
SuggestionsBoxTheme.tableCellDescriptionTextColor = UIColor.lightGrayColor()
let navigationBar = UINavigationController.init(rootViewController: suggestionsBox)
self.presentViewController(navigationBar, animated: true, completion: nil)
4. Implement Delegate Methods
// MARK : SuggestionsBoxDelegate Methods
func suggestions() -> Array<Suggestion> {
return self.featureRequests
}
func commentsForSuggestion(suggestion: Suggestion) -> Array<Comment> {
return self.comments.filter({ $0.suggestionId == suggestion.suggestionId })
}
func newSuggestionAdded(newSuggestion: Suggestion) {
// Refresh online data
self.featureRequests.append(newSuggestion)
}
func newCommentForSuggestionAdded(suggestion: Suggestion, newComment: Comment) {
// Refresh online data
self.comments.append(newComment)
}
func suggestionFavorited(suggestion: Suggestion) {
// Refresh online data
// Refresh local data
let index = self.featureRequests.indexOf(suggestion)
self.featureRequests[index!] = suggestion
}
func suggestionUnFavorited(suggestion: Suggestion) {
// Refresh online data
// Refresh local data
let index = self.featureRequests.indexOf(suggestion)
self.featureRequests[index!] = suggestion
}
Roadmap
- [x] CocoaPods support
- [x] Carthage support
- [ ] Tests
Apps using this library
Author
- Created and maintained by Manuel Escrig Ventura, @manuelescrig
- Email [email protected]
- Portfolio http://ventura.media
License
SuggestionsBox is available under the MIT license. See the LICENSE.md file for more info.
*Note that all licence references and agreements mentioned in the SuggestionsBox README section above
are relevant to that project's source code only.