KeepSnap
-
Upload
artur-mkrtychian -
Category
Software
-
view
22 -
download
0
Transcript of KeepSnap
The aim of the project was to create a comfortable platform with a convenient payment for
the distribution of personal photos to the end user.
Let’s imagine the situation: a photographer walks around the city and takes pictures of all
persons wishing to. He gives his business cards, where in addition to the main contacts the
address of his personal page is given in large print. The one who visits the page can find their
pictures and buy them. We see here a couple of advantages - photos were taken on quality
photo equipment with the correct exposure, by an experienced person who understands the
rules of composition. Almost everyone has cameras and mobile phones, but few will refuse
professional quality shots.
Our development team in close collaboration with customers has created a service where
any photographer, from amateur to professional could earn in quite simple and affordable
way. In our development Symfony2, Sphinx, Grunt and another dozen of technologies were
used. The project is alive and constantly evolving. New opportunities for photographers keep
appearing, as well as convenience and ease of interface is constantly improved.
KeepSnap, an unusual photostockhttps://keepsnap.com/
Logo Design
The plan was to use the logo both with and without a text and also apply it to interface and
icons for mobile applications. Therefore the form of the sign should to be rather
recognizable, original and not overloaded with complicated forms.
As one of the possible embodiments we tried turning to was the semantic variation of the
name. Thus, the sign contained a wallet and a camera. Also, the sign showed a photo album.
The logo points that the service is aimed at photographers that we store photos and allow
you to make money.
Design
Service can be conditionally divided into several parts. Each piece is designed to deal
effectively with the user tasks. Such a complex structure of the site needs close attention of
the whole team in order to make it clear to an end user.
Development began with the careful design of MySQL databases and generally of the main
architecture of the project. We discussed technologies to be used for the project.
PHP framework Symfony2 was chosen as the basis for the project. Due to its flexibility, it is
easy to elaborate new functional and make corrections and changes to the existing one. To
ensure the safety of user data, it was decided to use a secure SSL connection for the whole
project.
Adaptive Design of Photographer Gallery
Gallery interface performs several important functions: a quick search of your photos by date
and time of shooting, easy viewing and adding to a cart. Filter by time is convenient for
active photographers who make hundreds of images per day to search for the photos. We
provided possibility for a user to complain about the photo, and request its removal from the
gallery. The interface works equally well on the monitor screen, on the tablet and the phone.
Interface of a photographer
This is the "home" page of a photographer. Here one loads taken pictures at the most
available quality, controls the publication and edits EXIF data of images. A user has possibility
to edit multiple photos at once. Convenient filter allows you to select photos according to a
specific date.
Snapshots can be loaded simply by dragging files from a file to the browser window. They
are automatically checked for correct size and format. Next, the server generates thumbnails
for previewing photos in the gallery. When loading we keep the original EXIF information,
upon which date and time of shooting is calculated.
Over time, we have replaced bitmapped graphics for vector graphics in the interface that lets
us maximize the image precision on screens with any pixel density, including Retina.
User Ratings
Rating is calculated upon the quantity of sold pictures. It’s a gradation which is affected by
the percentage between earnings and sales of a photographer. Simple and clear icons
illustrate current rating of a photographer.
On the site a photographer can order personal business cards with the address of his/her
page. If desired, one can indicate its additional contacts such as name, phone, e-mail. There
is possibility to generate a pdf file of a business card to print on his/her own.
The server part
As it was mentioned above, the project is designed on the modern PHP framework
Symfony2. Data is stored in the MySQL database. Also Sphinx with RealTime Indexes is used
for search. For load sharing and resolving some of the long and intensive tasks RabbitMQ
was used.
ImageMagick® is used to process uploaded photos and to create images preview for photos.
Large previews are created as Progressive JPEG that allows faster images downloading on
the page. In order to reduce the weight of photos preview, all EXIF information is deleted.
KeepSnap supports downloading of not only JPEG images but also files of DNG format. To
generate previews of DNG, taking into account all restrictions and settings set by a
photographer, a special utility converter has been developed. It renders the JPG preview
concerning all the adjustments and settings made by a photographer in the DNG file.
The project has RESTful API for use with mobile applications. API is also used to load images
directly from Adobe Lightroom editor, for which a special plug was designed.
Statistics
Each photographer has access to useful statistics of their profile. One can analyze their sales
directly from the site's interface. Moreover, Google Analytics can be connected to the profile
of a photographer that would help to get even more detailed statistics.
Highcharts JavaScript library is used to display charts. This allows displaying clear and
convenient graphs with statistics on sales and earnings. Statistics may be received for the
desired period of dates, as well as consecutive and detailed one by day, week or month.
Payment system
When purchasing photos on the service user is given two payment options: PayPal and
cards. For the processing of payments with payment cards Payfirma service has been
integrated.
Form for filling payment data is very simple and convenient. A secure SSL connection is used
on the server for protection of user's data.
The studio has also made mobile applications for users of the service. The development was
carried out for iOS and Android platforms.
Given that many professional photographers use Adobe Lightroom in the processing of
pictures, we have written a plug-in that allows uploading photos directly from the program
to the service.
KeepSnap Directory
The service has an offshoot representing a directory of photographers open for everyone. A
photographer posting in the catalog indicates his/her location, the styles he follows, contact
details and the portfolio.
Photographers' customers using convenient search interface find photographers which are
suitable for the search conditions and connect with them. This gives a quick and easy way to
find a job for a photographer. The design of the catalog is also well-positioned for different
device screens.
Leaflet Javascript library with Google Maps is used to display maps and markers of
photographers on a map. In the catalog you can search for photographers minding the
distance from the specified location that allows you to filter your search results more
precisely. After viewing the work of photographers’ portfolio, you can contact one directly
or add one to the list of your favorite photos.