What do you use at the following layers/areas :
I use the following web stack:
Backend: NodeJS, Django
Frontend: I don't do frontend much but, I would choose AngularJS
Development Tools: Sublime Text 3, Git
Database: MongoDB, MySQL
Backend : Java, PHP, NodeJS, Perl
Frontend: JavaScript, Angular, jquery,
Development Tools: Eclipse, SublimeText
Database (if any specific preference) : MySQL, Oracle, MongoDB
Frontend: Razor MVC
Backend: Entity, MSSQL
Dev tools: Visual Studio
Backend: NodeJS, ExpressJs
Frontend: MithrilJs
Development Tools: Sublime Text 3, ConEmu, Git Bash
Database: PostgresSQL, with Sequelize ORM
BBC News (this is a cross over between our 'old' and 'new' stack; the front-end is still on the old stack but has started to plug into the new backend)...
My stack choices depends on the size of the project I'm involved with, for enormous projects, I have an extra API layer between the frontend and backend, the API layer uses CORS and a custom designed authentication and authorisation system.
So my API layer is usually all Java + Spring MVC using Jackson as a JSON parser, the API layer is connected to RabbitMQ using Spring AMQP, sometimes people want specialised UIs, so I would give them API access and their own UI, sometimes people want a simplified version of the API in SOAP (often .NET clients) so their backend services could integrate into my software, then I would use Spring Web Services and JAXB and also connect that to RabbitMQ using Spring AMQP - so multiple apps running on the API layer and multiple frontends connecting to these multiple APIs, some are my own frontends, some are customer-built frontends which I have no control over. On some of these APIs I get high volume of traffic, so using Spring Cache, I integrate Memcached into some of the API calls which gives me very fast throughput and allows me to manage my load without needing an excessive amount of servers.
On the frontend I either have a mobile app and / or an html / css / JavaScript app which then connects to the API layer using JSON POSTS (I'm busy experimenting to see the effects of sockets, but so far JSON POSTS works well enough for business applications). If it's a mobile app, I either write native Android and Swift or in most cases build it using Cordova and jQuery (and Bootstrap). If it's a fairly large Cordova app, I switch to Dart; for me managing 250k+ lines of JavaScript is much easier if it's written in Dart due to having a proper compiler.
If it's a web based frontend I use CSS3 + HTML5 and I have written my own Dart UI framework which compiles to JavaScript. Often I would use Bootstrap, but only the CSS since I've written my own Dart bindings to replace the JS bindings in Bootstrap. Looking at Angular Dart 2, I see they already do everything my framework does plus some extra goodies I've yet to write, so will probably be switching away from my own framework to Angular Dart 2 from next year simply so that other people can also work on my systems without my presence.
Backend, I wouldn't call it that, I usually have multiple "backends", each doing a specific service. I have an authentication / authorisation application written in Java connecting to Redis, this application is connected to RabbitMQ using Spring AMQP, all authentication / authorisation is done via this standalone app and I can plug this app into new projects' queues to give me Authorisation and Authentication out of the box or even share accounts between applications.
I have an Email application, SMS application, PDF application and lots of standalone applications that I can just plug into RabbitMQ and my new application has that functionality available immediately without writing code - I use Google's NoSQL database to store all API calls so I have a track record of what application sent what and so I could bill clients for usage if it's part of our agreement. These applications are typically running on Google Compute Engine, but looking at Kubernetes / Google Container Engine to reduce my costs and then I would either use Debian Linux or CoreOS if I'm deploying Docker images.
Each application usually has a Core application (also in Java) which contains that application's business logic, this application orchestrates all the other standalone applications. Typically I would use MySQL since I do a lot of business applications, on top of MySQL I have an ORM layer, I prefer using Hibernate, but I've also used straight JPA and JDO in the past. To generate my Hibernate models, I use a tool called Spring ROO (using Spring ROO, I can generate enormous database schemas simply by typing what I want in a shell and see 1000s of lines of Hibernate models being written for me), to get the most out of Hibernate, I use a connection pool system called C3P0 and then often times I would also implement query caching using Memcache + Hibernate Cache.
A Core application is connected to RabbitMQ using Spring AMQP. For business processes, I use Camunda, it's lightning fast for processing business processes and then for individual rules inside business processes, I would typically use Drools, but I see on Camunda's website, they have their own Rules engine now, so will go have a look to see what it does.
Java apps I would typically package inside a Docker image running Jetty and web frontends (HTML + CSS + JS) I would package inside a Docker image running NGINX. Some client websites which are integrated into my systems are in PHP, those are packaged into PHPFPM or if they need .htaccess files, Apache.
Development Tools, I recently (8 months ago) started using IntelliJ Idea Ultimate, it's probably the best IDE I've worked with supporting Java, Spring, Hibernate, Docker, Dart, PHP, Python, JavaScript and just about anything I work on, it has excellent support for all of them.
... and these are a few of my favourite things; there are some others I haven't mentioned, but the top stack is what I prefer and usually work with, although I do try and change certain elements in the stack for each new project to see how it works out.
i like to use express and mongodb .Angularjs in frontend. But i have a got a better performance with React.
I enjoy working with Node, Express and either Postgres, SQL or MongoDB as Backend and AngularJS on the Frontend.
I've enjoyed working with Elixir and the Phoenix framework to create APIs and handle websockets communications. I find the Websockets abstraction to be very clean, and pattern-matching the message itself is both intuitive and easy to reason about. Ecto, the database-abstraction, uses a DSL that feels almost like writing SQL, both DDL and DML. Phoenix scales incredibly well -- a single (albeit large) server can handle millions of simultaneous websocket connections. Adding more servers to a cluster is also trivial, and built into the underlying OTP framework. The ecosystem is solid -- there's one prescribed test library, one documenting system, a release manager in Exrm, package manager in Hex, and build system in Mix. I really enjoy writing in Elixir, in a way I haven't felt since discovering PHP in 2001.
Operations wise, I find Ansible to be super easy to use, and very quick to pick up. It handles most of my mundane server operations at scale. I've not found a need personally to add Chef or Puppet in concert with it. I like the premise and promise of Docker -- all the benefits of Vagrant without the myriad problems we ran into with VirtualBox and Vagrant. I've toyed with it and like it, but do not use it for production use yet. I do think Ansible + Docker will make a mighty fine pair in the coming year or two.
Postgres has been my go-to database for about 5 years. With the recent addition of the jsonb type, we have much of the power of Mongo, but with the ability to to add relational data in the same storage mechanism. It's super stable, highly performant, and scales well (though the tooling around the scaling is a little lacking if you're looking for anything beyond read-slaves and/or partitioning, such as multi-master). With extensions such as PostGIS, and the ability to write stored procs in languages other than PL/SQL (python, even JS), it feels both extensible and modern. The main drawback I can think of is that the best-of-breed GUI is Navicat by leaps and bounds, and it's expensive and I hate the licensing setup(per OS, and per DBMS).
Frontendishly, I will admit I haven't done much of substance in a while. I enjoyed the power of Angular 1.X but it was definitely still maturing during my usage in 2013. I can see why people would pick React/Flux, and I've played with toy apps using that design pattern and library, but I can't speak on using it to build anything substantial. I like the idea of the one-way data flows in terms of reasoning about my dataflows, but you do need what seems like a lot more boilerplate to accomplish the same tasks as Angular. It's a tradeoff, but I couldn't tell you if it's worth it or not. My gut instinct says yes.
cr1s
d3v
Backend: Go, Node.js, TLS/NaCl
Database: MariaDB, Redis, InfluxDB, Riak
Frontend: Jade/Html, Stylus/CSS, Javascript/VueJS
DevOps: Packer, Vagrant, Ansible, Docker, Terraform
Tools: neovim, screen, make, git