Skip to content
Techonologies to consider while developing large scale distributed application.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md

README.md

What and Why

Technologies to consider while developing large scale distributed application.
See wiki for awesome modules to speed up your development.

Server Back End:

Nodejs wiki
Node.js® is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
Awesome Node
Companies using alt tag

GO wiki
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Awesome GO
Companies using Go https://github.com/golang/go/wiki/GoUsers
Checkout what people are building using GO

HAPI Framework
A rich framework for building applications and services hapi enables developers to focus on writing reusable application logic instead of spending time building infrastructure.
Companies using HAPI alt tag

Database:

Mongodb
Agility, scalability, performance
JSON like Datastore
Flexible Data Model
Highly Scalable
Robust Operational Tools
Expressive Query Language
Companies using Mongodb alt tag


Mongoose wiki
Mongoose provides a straight-forward, schema-based solution to modeling your application data and includes built-in type casting, validation, query building, business logic hooks and more, out of the box.
Companies using Mogoose
alt tag

Redis
Redis is an open source, BSD licensed, advanced key-value cache and store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets, sorted sets, bitmaps and hyperloglogs.
Companies using Redis alt tag

Client Front End:

JADE
Jade is a terse language for writing HTML templates. It Produces HTML, Supports dynamic code and reusability (DRY).

LESS
Less is a CSS pre-processor, meaning that it extends the CSS language, adding features that allow variables, mixins, functions and many other techniques that allow you to make CSS that is more maintainable, themable and extendable.

Less runs inside Node, in the browser and inside Rhino. There are also many 3rd party tools that allow you to compile your files and watch for changes.

Angular
HTML is great for declaring static documents, but it falters when we try to use it for declaring dynamic views in web-applications. AngularJS lets you extend HTML vocabulary for your application. The resulting environment is extraordinarily expressive, readable, and quick to develop.

Material Design
Create a visual language that synthesizes classic principles of good design with the innovation and possibility of technology and science.

Mobile App:

Ionic Framework
Create mobile apps with the web technologies you love. Free and open source, Ionic offers a library of mobile-optimized HTML, CSS and JS components, gestures, and tools for building highly interactive apps. Built with Sass and optimized for AngularJS.

Package Manager & Dependency Manager

Gulp wiki
Automate and enhance your workflow. gulp is a build system as compared to a task runner, such as Grunt, although for all intents and purposes both tools can be used to accomplish the same result. gulp differentiates itself by focusing on optimized file operations with a limited Application Programming Interface (API) and strict set of plugin authoring guidelines.
Companies using GULP
https://github.com/gulpjs/gulp/issues/540

NPM
NPM is the package manager for everything you use in frontend and backend. NPM makes it easy for JavaScript developers to share and reuse code, and it makes it easy to update the code that you're sharing.

Bower
Bower is a package manager for web. Web sites are made of lots of things — frameworks, libraries, assets, utilities, and rainbows. Bower manages all these things for you.

#Test Runner : Mocha
Mocha is a feature-rich JavaScript test framework running on Node.js and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases.

Chai
Chai is a BDD / TDD assertion library for node and the browser that can be delightfully paired with any javascript testing framework.

Sinon
Standalone test spies, stubs and mocks for JavaScript. No dependencies, works with any unit testing framework.

Protractor
Protractor is an end-to-end test framework for AngularJS applications. Protractor runs tests against your application running in a real browser, interacting with it as a user would.

Galen
Automated testing of look and feel for your responsive websites.Standard suites are easy for a quick start but still give you a lot of power. You can select different browser like Firefox, Chrome, Internet Explore or switch your tests to Selenium Grid. In case the page is not easy accessible you can either inject custom JavaScript on the client-side or run a JavaScript action on a test side so that you can prepare your page for a layout check.

CI/CD:

Docker
Docker is an open platform for building, shipping and running distributed applications. It gives programmers, development teams and operations engineers the common toolbox they need to take advantage of the distributed and networked nature of modern applications.
Companies using Docker alt tag

Travis
Test and Deploy with Confidence. Easily sync your GitHub projects with Travis CI and you’ll be testing your code in minutes!
Companies using Travis
alt tag

Bamboo
Continuous delivery from code to deployment. Bamboo is a continuous integration and delivery tool that ties automated builds, tests and releases together in a single workflow. It works great alongside JIRA and Stash providing a fully traceable deployment pipeline.
Companies using Bamboo alt tag

Bit Bucket
Host your code online in as many public and private repositories as you want. Free five-user tier accounts! Manage your projects with confidence with built-in issue trackers, wikis, code comments, and pull requests.

JIRA
The flexible and scalable issue tracker for software teams. Plan and track your work. Ship on time. JIRA is built for every member of your software team. Plan and track your work while moving towards the next release.

Cloud Server:

Heroku
Build and Run Your Apps, Your Way. Once you push your application source code, Heroku prepares it for execution by retrieving the necessary dependencies specific to the frameworks and languages you use in your app. Heroku supports Ruby, Node.js, Python, Java, Go and PHP by default, but you can also choose another language by using a custom buildback.
Companies using Heroku alt tag

Amazon EC2
Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale cloud computing easier for developers.

Amazon S3
Amazon Simple Storage Service (Amazon S3), provides developers and IT teams with secure, durable, highly-scalable object storage. Amazon S3 is easy to use, with a simple web services interface to store and retrieve any amount of data from anywhere on the web. With Amazon S3, you pay only for the storage you actually use. There is no minimum fee and no setup cost.

Serevr Monitoring

Nodemon
Nodemon is a utility that will monitor for any changes in your source and automatically restart your server. Perfect for development.Just use nodemon instead of node to run your code, and now your process will automatically restart when your code changes.

PM2
Production process manager for Node.JS applications with a built-in load balancer.

Forever
A simple CLI tool for ensuring that a given node script runs continuously (i.e. forever)

Supervisor
Supervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems.

Other Tools and Technologies:

Elastic Search
Elastic believes getting immediate, actionable insight from data matters. As the company behind the three open source projects — Elasticsearch, Logstash, and Kibana — designed to take data from any source and search, analyze, and visualize it in real time, Elastic is helping people make sense of data. From stock quotes to Twitter streams, Apache logs to WordPress blogs, our products are extending what's possible with data, delivering on the promise that good things come from connecting the dots.
Companies using Elastic Search
alt tag alt tag alt tag alt tag

Socket IO
Socket.IO enables real-time bidirectional event-based communication. It works on every platform, browser or device, focusing equally on reliability and speed.

API Documentation Viewer
Swagger is a simple yet powerful representation of your RESTful API. With the largest ecosystem of API tooling on the planet, thousands of developers are supporting Swagger in almost every modern programming language and deployment environment. With a Swagger-enabled API, you get interactive documentation, client SDK generation and discoverability.

Zero MQ
 Connect your code in any language, on any platform.
 Carries messages across inproc, IPC, TCP, TIPC, multicast.
 Smart patterns like pub-sub, push-pull, and router-dealer.
 High-speed asynchronous I/O engines, in a tiny library.
 Backed by a large and active open source community.
 Supports every modern language and platform.
 Build any architecture: centralized, distributed, small, or large.

You can’t perform that action at this time.