Introdution to Chirp

A simple clone of twitter

I’m a developer with some years of experience, so I understand that if you want to learn new technologies the best way is always work on a real project. So when I thought to learn how to build a solution using a fullstack javascript framework, I looked for an interesting project.

I like the tools that provide the ability to comunicate (and share) information, so I decided to build a small social network called “Chirp” (I know, I have a little imagination), which has some features of Twitter. The software solution has been built using MEAN, which is a fullstack javascript composed by Mongodb, Expressjs, Angularjs and Nodejs. Below the Chirp architecture:

As you can you can see the UI has been implemented by SPA approach (Single Page Application) using Angularjs which is power web framework developed by Google. All I/O operations has been implemented with some rest api hosted by a socket server built on Node and Expressjs as middleware. The information are stored on Mongodb which is a fast Nosql dbms but also very flexible.

Now Chirp provides only a small subset of features that Twitter does but could be anough for working in simple context of some company. The features implemented are:

  • public timeline (a list of the last messages posted from everyone)
  • personal timeline (a list of the last messages posted from who i’m following)
  • follow and unfollow of an user
  • sign up of a new user
  • posting a message

The job has just started and there is still hard work to do because there are many missing features and many bugs to fix, but i like the challenges especially if there is the opportunity to learn new stuff.

Obviously Chirp is an open source project and the code is hosted on github.

Antonio Di Motta