/curated-3rdparty-libraries

This repository contains list of 3rd party libraries used by Onebit in our day to day development.

Curated 3rd Party Libraries

This repository contains list of 3rd party libraries used by Onebit in our day to day development.

Table of Contents

Go

  • go-simplejson - Easy-to-use package to interact with JSON. Provide struct, getter, setter and marshal to create/read JSON.
  • gorilla-mux - Easy and powerful URL router. Provide custom routers and interface to comply with golang's http.
  • amqp - Complete AMQP client. Self-explanatory
  • profile - Simple profiling package without too much complicated configurations or http.
  • uuid - RFC4122-compliant UUID generator
  • log15 - Pretty and simple logging package. Provides multiple transports, log-levels and use key-value.

PHP

NodeJS

  • express - Fast, minimalist and robust web framework for NodeJS. One of the most popular web framework in NodeJS.
  • moment - Provide easy methods to manipulate date in JS.
  • lodash - Must have utility library for JS project. Provide a lot of useful functions such as map, filter, omit, extend, chain, etc.
  • winston - Logging library that provides multiple transports.
  • kaiseki - Wrapper of Parse API.
  • socket-io - Provides realtime engine that can be used for chat, notifications, etc.
  • sequelize - ORM for SQL-based RDBMS. This library using promises with various features and easy to use.
  • mongoskin - MongoDB lightweight driver. Based on node-mongodb-native.
  • Settings - Simple environment-based settings.
  • formidable - Library for form-data parsing. Fast and able to write uploaded file to disk automatically.
  • debug - small and pretty library for debugging.
  • node-oauth2-server - Complete and battle-tested library for Oauth2 server/provider. Used as middleware in expressJS.

AngularJS

  • textAngular - Provide customisable WYSIWYG text editor for angularJS.
  • angular-busy - Provide loading/busy indicator during any promises.
  • alertify Easy to use dialog and provide nice callback. Unfortunately, the maintenance has stopped.
  • angular-geolocation - angularjs wrapper for window.navigate.geolocation. Useful to get user's location.
  • angular-flot - angular wrapper for Flotcharts (plotting library for jQuery)

Rails

Web Dev Tools

  • npm - Package manager for Javascript and NodeJS.
  • bower - Package manager for web development. It will hunt any package we need.
  • Grunt - Automated task runner for web development. Configuration over code and uses JSON-like configuration
  • Gulp - Automated task runner for web development. Code over configuration with simple javascript code.
  • Composer - PHP Dependency manager
  • Bundler - Ruby dependency manager

Android

  • picasso - Simple image loader with caching and fluent interface. Supports image transformations as well.
  • retrofit - Type-safe REST client. Easy to define endpoints using java annotations.
  • okhttp - Better Android HTTP client. Works well with picasso & retrofit.
  • timber - Logging wrapper. We use it to redirect logcat to Crashlytics in non-debug builds.
  • butterknife - Android view "injection" made easy. No need to type boilerplate findViewById for each views in activity.
  • leakcanary - Android leak detector.
  • gson - Simple POJO-based JSON (de)serializer
  • calligraphy - Easy tools for defining custom font in Android widget.

Gradle Plugins

  • android-check - PMD and checkstyle in one plugin.
  • sdk-manager-plugin - Automatically download required SDK version and support libraries.
  • icon-version - Show version number in debug app icon.
  • dexcount - Show method count on every build. Stay away from 65536 method limit.
  • retro-lambda - Build java or android project with retrolambda. Require Java 8 SDK.

Objective-C

  • AFNetworking - A delightful iOS and OS X networking framework

Swift

  • AFNetworking - A delightful iOS and OS X networking framework
  • Quick - The Swift (and Objective-C) testing framework.
  • Nimble - A Matcher Framework for Swift and Objective-C