Flickr Photo stats provides the ability to request information of your photos using REST
Pascal JavaScript CSS C# PowerShell ASP Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Debug
UnitTests
img
mobile/Android/FlickrPhotoAnalytics
website/FlickrPhotoAnalytics
.gitattributes
.gitignore
DelphiFlickrAPI.dpk
DelphiFlickrAPI.dproj
DelphiFlickrAPI.dproj.local
DelphiFlickrAPI.identcache
DelphiFlickrAPI.res
DelphiFlickrAPI.stat
DetailView1.fmx
DetailView1.pas
FlickrPhotoAnalytics.dpr
FlickrPhotoAnalytics.dproj
FlickrPhotoAnalytics.dproj.local
FlickrPhotoAnalytics.identcache
FlickrPhotoAnalytics.rc
FlickrPhotoAnalytics.res
FlickrPhotoAnalytics.stat
FlickrPhotoAnalytics.todo
FlickrPhotoAnalyticsAgent.dpr
FlickrPhotoAnalyticsAgent.dproj
FlickrPhotoAnalyticsAgent.dproj.local
FlickrPhotoAnalyticsAgent.identcache
FlickrPhotoAnalyticsAgent.res
FlickrPhotoAnalyticsAgent.stat
FlickrPhotoAnalyticsAgent_project.tvsconfig
FlickrPhotoAnalyticsBatchUpdate_Icon.ico
FlickrPhotoAnalyticsCommon.rc
FlickrPhotoAnalyticsGroup.groupproj
FlickrPhotoAnalyticsGroup.groupproj.local
FlickrPhotoAnalyticsGroup_prjgroup.tvsconfig
FlickrPhotoAnalyticsLib.dpk
FlickrPhotoAnalyticsLib.dproj
FlickrPhotoAnalyticsLib.dproj.local
FlickrPhotoAnalyticsLib.identcache
FlickrPhotoAnalyticsLib.res
FlickrPhotoAnalyticsLib.stat
FlickrPhotoAnalyticsLib_project.tvsconfig
FlickrPhotoAnalyticsMetropolisUI.dpr
FlickrPhotoAnalyticsMetropolisUI.dproj
FlickrPhotoAnalyticsMetropolisUI.dproj.local
FlickrPhotoAnalyticsMetropolisUI.identcache
FlickrPhotoAnalyticsMetropolisUI.res
FlickrPhotoAnalyticsMetropolisUI.stat
FlickrPhotoAnalyticsMetropolisUI_project.tvsconfig
FlickrPhotoAnalytics_project.tvsconfig
FlickrPhotoMigrationTool.dpr
FlickrPhotoMigrationTool.dproj
FlickrPhotoMigrationTool.dproj.local
FlickrPhotoMigrationTool.identcache
FlickrPhotoMigrationTool.res
FlickrPhotoMigrationTool.stat
FlickrPhotoMigrationTool_Icon.ico
FlickrPhotoMigrationTool_Icon1.ico
FlickrPhotoStats.identcache
FlickrPhotoStats.res
FlickrPhotoStats_Icon.ico
FlickrPhotoThreadMonitor.dpr
FlickrPhotoThreadMonitor.dproj
FlickrPhotoThreadMonitor.dproj.local
FlickrPhotoThreadMonitor.identcache
FlickrPhotoThreadMonitor.stat
FlickrPhotoThreadMonitor_Icon.ico
LICENSE
README.md
dashboard.png
dashboard2.png
flickr.Dictionary.sorting.pas
flickr.access.token.pas
flickr.album.categoriser.pas
flickr.albums.list.pas
flickr.albums.pas
flickr.base.pas
flickr.call.methods.pas
flickr.charts.pas
flickr.filtered.list.pas
flickr.globals.pas
flickr.http.lib.pas
flickr.lib.backup.pas
flickr.lib.doublelist.pas
flickr.lib.email.html.pas
flickr.lib.email.pas
flickr.lib.encoding.pas
flickr.lib.folder.pas
flickr.lib.integerlist.pas
flickr.lib.item.list.pas
flickr.lib.item.pas
flickr.lib.logging.pas
flickr.lib.math.pas
flickr.lib.options.agent.pas
flickr.lib.options.pas
flickr.lib.parallel.albums.pas
flickr.lib.parallel.groups.load.pas
flickr.lib.parallel.pas
flickr.lib.parallel.photos.pas
flickr.lib.parse.pas
flickr.lib.photos.load.pas
flickr.lib.procedures.pas
flickr.lib.rates.pas
flickr.lib.response.pas
flickr.lib.utils.pas
flickr.list.comparer.pas
flickr.listview.model.pas
flickr.oauth.pas
flickr.organic.pas
flickr.organic.stats.pas
flickr.photo.trend.info.pas
flickr.photos.histogram.pas
flickr.photos.pas
flickr.pool.details.pas
flickr.pools.histogram.pas
flickr.pools.list.pas
flickr.pools.pas
flickr.profile.pas
flickr.profiles.pas
flickr.rejected.pas
flickr.repository.pas
flickr.repository.rest.pas
flickr.rest.pas
flickr.signature.pas
flickr.stats.global.pas
flickr.stats.pas
flickr.tendency.pas
flickr.time.pas
flickr.top.stats.pas
flickr.tracker.pas
flickr.url.attributes.pas
flickr.user.faves.pas
flickr.user.tracking.pas
flickr.users.info.pas
flickr.xml.helper.pas
frmAuthentication.dfm
frmAuthentication.pas
frmChart.dfm
frmChart.pas
frmDashboardTile.dfm
frmDashboardTile.pas
frmDashboardTileUI.fmx
frmDashboardTileUI.pas
frmFlickrContextList.dfm
frmFlickrContextList.pas
frmFlickrMainTiles.dfm
frmFlickrMainTiles.pas
frmFlickrMainTilesGrid.fmx
frmFlickrMainTilesGrid.pas
frmFlickrMainTilesGrid.vlb
frmFlickrPhotoSetInfo.dfm
frmFlickrPhotoSetInfo.pas
frmFlickrStatsMain.dfm
frmFlickrStatsMain.pas
frmFlickrUserList.dfm
frmFlickrUserList.pas
frmMigrationMain.dfm
frmMigrationMain.pas
frmSetup.dfm
frmSetup.pas
frmSplash.dfm
frmSplash.pas
frmThreadMonitor.dfm
frmThreadMonitor.pas
options.optset

README.md

FlickrPhotoStats

Flickr Photo stats provides you with the ability to request information from your Flickr stream using the Web REST API. This tool does not need a PRO account to run against. It will keep track of your stats locally overtime.

Download the latest version here:

Downloads Downloads Stable Release License Delphi version

Additional libraries required: The application requires SSL authentication and for that it uses the libraries provided by OpenSSL. Remember to download the following libraries and place them in the application root:

License: GNU General Public License.

The app only needs a valid API Key that can be requested in the App Garden where my application is already published:

The App Garden - API request.

Once obtained, you can load your list or start a new one using the Api Key.

Additional info can be found in the following post in my blog.

Example of the app:

**New Dashboard v4.8.0.2 (Windows 10 support) **:

Dashboard (previous versions):

Processing:

Authentication:

It will keep a list of all the photos you add to keep track of them automatically. The following information will be saved:

  • Number of views.
  • Number of Likes.
  • Number of Comments.
  • Last time it was updated.
  • Affection (number of likes over number of views).

Each value is saved and stored over time so the tool can display the trend of a particular photo.

Code convention:

  • 1000 < 3000 views: blue.

  • 3000 < 5000 views: green.

  • 5000 < 8000 views: Olive.

  • 8000 < 10000 views: Fuchsia.

  • 10000 views: red.

Use Batch Update to easily update all the values and keep a good track record of your flickr stream.

Version 4.8.0.2 (RC stable):

Version 4.8.0.1 (RC stable):

Older versions:

Version 4.6 (RC):

Version 4.7 (RC):

Older versions can be found here: Archive.

Usage of the Flickr API

You can create an instance of ParseServer, and mount it on a new or existing Express website:

   //TFlickrRest exposes the methods of the Flickr API.
   //THTTPRest exposes a REST approach with XML format
   THttpRest.Post(TFlickrRest.New(optionsAgent).getInfo(id), procedure (iXMLRootNode : IXMLNode)
    begin
      views := iXMLRootNode.attributes['views'];
    end);

Changelog

Features for version 3.1:

  • Get the total list of photos using flickr.people.getPhotos for automatic population of the application.

Features for version 4.1:

  • OAuth authentication.
  • Get list of groups and create your own profiles for automatic population.
  • Totals for Albums.

Features for version 4.3:

  • Dashboard.
  • Trend lines.
  • Album population.

Features for version 4.4:

  • Dashboard upgrade.
  • Area series.
  • Performance improvements.
  • BatchUpdate to send emails out to users.
  • emails support HTML.
  • splash screen.
  • Photo filtering.

Features for version 4.5:

  • Dashboard upgrade.
  • Double click on graphs to expand.
  • Performance improvements.
  • BatchUpdate to send emails out to users.
  • emails support HTML.
  • splash screen.
  • Photo filtering.
  • Memory leaks.
  • Web dashboard using ASP.NET MVC.

Features for version 4.6:

  • Dashboard upgrade.
  • Trend upgrade.

Features for version 4.7:

  • Dashboard upgrade.
  • Data Backup in zip format.
  • Trend upgrade.

Features for version 4.8.0.1:

  • Consolidation of bug fixes from 4.7 version.
  • Performance improvements.
  • Parse.com integration.

Features for version 4.8.0.2:

  • Reduction of memory and time footprint: Memory Footprint before after % reduction Load 768 Mb 25 Mb 97 % Save 768 Mb 25 Mb 97 %

    Time Footprint before after % reduction Load 135551 ms 178 ms 100 % Save 115745 ms 135 ms 100 %

  • Multi-threaded approach to increase performance. Reduction of 99% of the time.

Source code is available here.

The application can now use OAuth authentication using REST. The application itself can validate the user tokens and provide all the flow within the application. I will write a post about this in my blog.

Developed with Delphi 10.1 Berlin and C# and using OpenSSL libraries.

Roadmap

Version 4.4:

  • Additional photo filtering.
  • Speed improvements.

Version 4.5:

  • Authentication improvements.
  • Pool improvements.

Version 4.6:

  • Automatic backup.
  • Saving the history independently.

Version 4.7:

  • Stable and highly functional release.
  • Pool and album handling.

Version 4.8:

  • Memory and CPU performance.

Version 5:

  • Saving the repository in a SQL DB (MySQL, SQL Server).
  • For version 5 I will start my hosted version where I will be able to take users on-board and just email the results back.

Platform Support

It works under Windows 7, Windows 8, Windows 10 and Windows 2012.

Minimum Requirements

This application is memory intensive and it will require loads of memory overtime. A year worth of history is about 500Mb in memory. Minumum recommended memory is 4Gb with a cpu with 4 cores (64 bits). Google can detect the constant sending/receiving of requests as a robot. Recommended screen resolution: 1920x1200. Minimum (1600x1200)

Licence

Flickr Photo Analytics Copyright (C) 2015 Jordi Corbilla

This program is free software: you can redistribute it and/or modify it under the terms of the GNU 
General Public License as published by the Free Software Foundation, either version 3 of the License,
or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even 
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.

You should have received a copy of the GNU General Public License along with this program. 
If not, see http://www.gnu.org/licenses/.

Sponsors

No sponsors yet! Will you be the first?

PayPayl donate button