Barfer is a simple Twitter-like web-app I created for just for learning purposes.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Barfer Build Status

Barfer is a Twitter clone, plain and simple. I started this project just for fun and for learning purpose: I was looking for a way to improve my NodeJS skills and to learn how to use RabbitMQ.

I have used NodeJS with Typescript to write all the projects, with a CQRS + Publish/Subscribe + Multiservices architecture to display barfs (tweets), user details and the necessary interactions.

There are some external services I have used to speedup the development and to obtain certain features:

I am perfectly aware that the repository contains the connection strings. As said, this is a project written just for learning, I don't care much about the security, not at this stage.

All the services have been deployed on Azure, the web client can be found here: .

Build & Run

You can easily build the projects using the Gulp task build:dev which will also watch for changes. The default task is intented to be used for deployment only.

A launch configuration for Visual Studio Code is provided to run all the projects, named All services.


The unit and integration tests can be run using the standard npm run test command from the terminal. If you want to run just the unit tests, use npm run unit. For the integration tests instead, use npm run integration.


There's a bunch of features that I'm planning to add, more or less in this order:

  • user interests
  • barf tags
  • search engine
  • comments
  • notifications