The 7 segment display uses 74HC595 Shift Register to create more outputs and control each segments. Multiplexing method is used to control each 7 segment display.
The clock information is obtained from DS1307 Real Time Clock IC. The benefits of using DS1307 is that the clock information will continue ticking even the main supply to Arduino is off. DS1307 uses I2C interface for communication.
A DIY 4x4 matrix keypad is used to allow user to control the functions of clock. 4x4 matrix keypad is control by a PCF8574A, 8 bit I/O expander. This IC also uses I2C interface for communication.
A video explaining about this project. http://www.youtube.com/watch?v=1Sc2uGhRvDM
More info available at my personal blog, http://iamzxlee.wordpress.com/2013/11/04/digital-clock-on-7-segment-display/
I will try to update here once I have more free time. Hope you enjoy my project. :)
Check out an upgrade version of this project, https://www.instructables.com/id/Digital-Clock-Using-7-Segment-Display-with-TV-Remo/