All Projects → paolobenve → myphotoshare

paolobenve / myphotoshare

Licence: other
MOVED TO GITLAB! --- A Web 2.0 Photo Gallery Done Right via Static JSON, Dynamic Javascript and a bit of php for sharing

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
CSS
56736 projects
PHP
23972 projects - #3 most used programming language
shell
77523 projects
HTML
75241 projects
Makefile
30231 projects

Projects that are alternatives of or similar to myphotoshare

Ownphotos Frontend
Stars: ✭ 171 (+1325%)
Mutual labels:  photos, gallery, face-detection
google-photos-vue
Google Photos album viewer built with Vue.js
Stars: ✭ 17 (+41.67%)
Mutual labels:  photos, gallery, album
Ownphotos
Self hosted alternative to Google Photos
Stars: ✭ 2,587 (+21458.33%)
Mutual labels:  photos, gallery, face-detection
Photo Blog
The Photo Blog Application based on Laravel 5 and Vue.js 2 + Prerender
Stars: ✭ 55 (+358.33%)
Mutual labels:  photos, gallery
Paparazzo
Custom iOS camera and photo picker with editing capabilities
Stars: ✭ 714 (+5850%)
Mutual labels:  photos, gallery
Lychee
A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.
Stars: ✭ 816 (+6700%)
Mutual labels:  photos, gallery
Nanogallery2
a modern photo / video gallery and lightbox [JS library]
Stars: ✭ 488 (+3966.67%)
Mutual labels:  photos, gallery
Photo view
📸 Easy to use yet very customizable zoomable image widget for Flutter, Photo View provides a gesture sensitive zoomable widget. Photo View is largely used to show interacive images and other stuff such as SVG.
Stars: ✭ 1,280 (+10566.67%)
Mutual labels:  photos, gallery
Github Pages Gallery
A zero dollar solution to host your photo/video gallery online using Github pages and GitHub Actions. No coding necessary.
Stars: ✭ 77 (+541.67%)
Mutual labels:  photos, gallery
photos
"Fx Fotos" is an opensource gallery app in react native with the same smoothness and features of Google Photos and Apple Photos. It is backend gnostic and connects to decentralized backends like "box", "Dfinity", "Filecoin" and "Crust".
Stars: ✭ 620 (+5066.67%)
Mutual labels:  photos, gallery
Photos
📸 Your memories under your control
Stars: ✭ 157 (+1208.33%)
Mutual labels:  photos, gallery
Aphotomanager
Manage local photos on Android: gallery, geotag with photomap, privacy, tags, find, sort, view, copy, send, ... .
Stars: ✭ 164 (+1266.67%)
Mutual labels:  photos, gallery
React Grid Gallery
Justified image gallery component for React
Stars: ✭ 571 (+4658.33%)
Mutual labels:  photos, gallery
React Viewer
react image viewer, supports rotation, scale, zoom and so on
Stars: ✭ 502 (+4083.33%)
Mutual labels:  photos, gallery
Lpalbum
an albums that can preview, multiple-choice
Stars: ✭ 17 (+41.67%)
Mutual labels:  photos, album
Thumbsup
Generate static HTML photo / video galleries
Stars: ✭ 493 (+4008.33%)
Mutual labels:  photos, gallery
Hexo Album
add album&photos with Hexo blog
Stars: ✭ 85 (+608.33%)
Mutual labels:  photos, album
Imagestore
Open source google photos alternative!
Stars: ✭ 429 (+3475%)
Mutual labels:  photos, album
Rxpaparazzo
RxJava extension for Android to take images using camera and gallery and pick files up
Stars: ✭ 467 (+3791.67%)
Mutual labels:  photos, gallery
React Native Photo Gallery
Simple, yet powerful image gallery for React Native. Features zoom and pagination ! 🖼
Stars: ✭ 105 (+775%)
Mutual labels:  photos, gallery

WARNING: This project has moved to gitlab.com

Set your origin to https://gitlab.com/paolobenve/myphotoshare

No more development will be carried on here on github.com


MyPhotoShare v. 3.4beta19 (May 22, 2018)

A Web Photo Gallery Done Right via Static JSON & Dynamic Javascript

by Jason A. Donenfeld ([email protected]), Jerome Charaoui ([email protected]) Joachim Tingvold ([email protected]), Paolo Benvenuto ([email protected]), Pierre Métras ([email protected])

Description

MyPhotoShare is an open source web photo gallery aimed at sleekness and speed. It works over directory structures rather than esoteric photo database management software. Everything it generates is static, which means it's extremely fast.

It permits browsing the media by folder, date and geotags.

Content (albums and media files) can be shared over some popular social plaforms.

MyPhotoShare is a Jason A. Donenfeld's photofloat fork, enriched by Jerome Charaoui's patches permitting showing videos, Paolo Benvenuto's and Pierre Métras's following development.

Check out a demo!

Screenshot

What's great in version 3.4

Read more

Features

Gallery

  • Manages images and videos, and permits sharing them (single image or album).
  • Media can be browsed by folder, by date or by geolocation. Switching among album, date and place views.
  • Media and folders can be sorted ascending/descending by date or by name.
  • Media can be searched by file/album name, title, description, tags; search may be whole word or inside words, considering accents and capitals or not.
  • Thumbnails can be square (cropped, with optional face detection by OpenCV) or full-content.

For Photographers

  • Photos with GPS data can be browsed by country/region-state/place; names are retrieves in choosen language from geonames.org web service.
  • Fullscreen mode.
  • EXIF, IPTC and XMP Metadata display.
  • Link to original media.
  • Link for direct download.

Mobile Friendly

  • Swipe gestures for mobile.
  • Sharp images and thumbnails on mobile.
  • Smooth media scaling.
  • Consistent hash URL format.

Great User Experience

  • Keyboard navigation: arrows, pageup/down, [esc], [f] (fullscreen), [m] (metadata).
  • Mouse-wheel support.
  • Various user interface option can be changed by the user.
  • Animations to make the interface feel nice.
  • Separate album view and photo view.
  • Media animation when passing to next/previous media.
  • Available in English, Italian, Spanish, French. User interface translated via separate translation file. Add your language!

Social

  • Share buttons for facebook, whatsapp (mobile only), twitter, google+, email; on facebook, whatsapp and google+: a preview of the image/album is shared.

Performance

  • Album metadata pre-fetching.
  • Photo pre-loading.
  • Scanner uses recursive async randomized tree walking album thumbnail algorithm.
  • HTML5 with minified CSS and JavaScript files for minimal load time.

And More...

  • Analytics with optional Google Analytics and Piwik integration.
  • Optional server-side authentication support.
  • Many customizations available through config file.
  • Cache folder can be managed with subdirs: useful for large repositories.
  • Source albums server folders can be anywhere on the server.
  • Folders (or trees) are not scanned if a marker in put inside them.
  • Scanner verbosity levels can be set in the configuration file.
  • Developer friendly with debug mode for using unminimized css's and js's.
  • Photos metadata can be overloaded by user defined values in special file album.ini.

Community

Report bugs through GitHub Issues.

You can fork MyPhotoShare and submit pull requests, too! We're open to adding more features!

If you have any questions, feel free to contact the MyPhotoShare community via our mailing list/discussion group.

How It Works

MyPhotoShare consists of two segments – a Python script and a JavaScript application.

The Python script scans a directory tree of images, whereby each directory constitutes an album. It then populates a second folder, known as the cache folder with statically generated JSON files and thumbnails. It writes an options.json file too in html root folder, putting inside it all the options from default config file or user config file. The scanner extracts metadata from EXIF tags in JPEG photos and other data from videos or album.ini user defined file in albums. MyPhotoShare is smart about file and directory modification time, so you are free to run the scanner script as many times as you want, and it will be quite fast if there are few or zero changes since the last time you ran it.

The JavaScript application consists of a single index.php file with a single scripts.min.js and a single styles.min.css. It fetches the options.json file and the statically generated JSON files and thumbnails on the fly from the cache folder to create a speedy interface.

MyPhotoShare features share buttons, and PHP permits to pass the shared image/video/album to social media:

  • inserts link tag in <head>...</head> in order to let social media see the shared content;
  • applies basic options to home page;
  • insert proper parameters for analytics tracking.

It is, essentially, a slick and fast, minimal but still well-featured photo gallery app on the net, suitable for sharing your media with your friends.

Performance of scanner

As a term of comparizon, on my medium-sized pc, with the images on a NFS mounted NAS partition:

  • scanning with face detection for the first time a 692 photos directory tree for a total size of 2.3 GB takes about 700 seconds (about 1 sec/media, 1 media/sec); face detection takes about 267ms/photo.
  • re-scan of "all OK" tree with 36000 media files for a total size of 87 GB takes about 14 minutes (about 20 ms/media, 50 media/sec).
  • scanning of videos takes a much longer time than photos, the bigger the video the greater the time.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].