Skip to content

lidanh/TwitterClientServer

Repository files navigation

Twitter Client & Server

image

This project was an assignment for systems programming course, Ben Gurion University, December 2013. You can read the assignment requirements here. I got 120/100 for this assignment (Reactor server was a bonus part).

The project is a terminal-twitter clone (client+server) with STOMP protocol, including login, public twitting, follow and @tagging.

The server was implemented in Java, in two ways: Thread-per-client server, and a scalable non-blocking-IO server based on Reactor Pattern. Both of them share the same engine of course, for simplicity and modularity. logging implemented with log4j. build process with ant.

The client was implemented in C++, with boost library for multithreading. Fully compatible with Active MQ (Same STOMP Frames). The client creates a responsive HTML output file for user's feed, built with twitter bootstrap. for example:

image

Project Structure

The project has 4 sub-projects:

  • Twitter Client
  • Twitter Engine
  • Thread-per-Client
  • Reactor Server

The Reactor server and the Thread-per-client server uses the twitter engine project. The twitter client is independent, and most of its features can work even with ActiveMQ server.

image

About

Terminal-Twitter clone (client + server)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published