# Introduction

The "Photo Album" web application is a desktop-like on-line photo manager. It provides social services for uploading photos, storing and previewing them, creating your own albums and sharing them with other users, searching albums, photos or users, managing the environment. Newcomers or not registered users can navigate through other users' shelves and albums in "Anonymous mode", but in this case no possibilities to create personal shelves or albums or upload photos are available.

The "Photo Album" represents and implements strict "Shelves - Albums - Photos" hierarchy. It means that photos are kept in albums and albums are stored on shelves, but albums can not contain another albums or shelves and shelves can not keep another shelves and can not be stored in albums.

The Photo Album web application is designed and developed with RichFaces. This application demonstrates:

- wide variety of UI components - the RichFaces provides a Lego-like way of building user interfaces for web applications;

- Built-in Ajax capability - the RichFaces offers both component-wide and very flexible page-wide Ajax support with no need to write any JavaScript code;

- Highly customizable look-and-feel - the RichFaces have special feature called Skinnability.

The Photo Album application also encompasses technologies and frameworks such as:

- Facelets

- Enterprise Java Beans (EJB) 3.0

- Seam framework

The application is available online at Photo Album page.