Industrial photography made easy.
CasePicture is a simple tool for capturing a high volume of photographs and keeping them organized by subject matter.
- Any device with a camera and WiFi can be used to take pictures
- Including smart phones, tablets, and PCs with webcams
- Pictures are named after subject matter and date taken
- Pictures are stored in a central file repository
- Pictures can be searched by subject and date in seconds
- Pictures can be easily synced with remote cloud storage
- Unpack CasePicture on any webserver with PHP
- Copy config.php.dist to config.php, and customize any settings as needed.
- Default settings should be fine for most cases.
- Make sure:
- $saveFolder is writable by the webserver
- $localUploadDir is writable by the webserver
- For the "download zip" functionality, you will need the PHP Zip extension enabled
- Start taking pictures.
In some environments it may be useful to switch from the screen on a computer to a handheld device like a phone.
To do this, make sure to run composer install to bring in the necessary libraries. Once done, you will see a QR code in the bottom left of the main application. Scanning it will quickly take a phone or other device to the picture tool.
CasePicture is intended to be used as an appliance on a LAN. Ideally, it should be installed on a system with some kind of redundant storage and a fast local connection. That way, there is little or no lag in saving high-quality pictures and videos.
If you plan to use CasePicture on a public-facing server you may want to password protect it using .htaccess or a similar method.
An ideal deployment may look like this:
![doc/diagrams/cloud deployment.png](doc/diagrams/cloud deployment.png)
In the above diagram, CasePicture is installed on a local server with a RAID array.
- Edit your config:
- $saveFolder should point to the local storage / RAID array
- $localUploadDir should point to a local mountpoint for the cloud storage. For example, an Amazon S3 bucket mounted using S3FS
- $urlBase should point to the wwwroot where a file uploaded to cloud storage can be accessed
- Create notify_picture()
- Define a notify_picture() function which takes the following arguments:
- filename of a picture
- prefix used when taking the picture
- optional second identifier
- URL where file can be accessed publicly (ie. $urlBase + name of the file)
- notify_picture() should notify your web service that the picture exists, using a webhook, api-call, or similar.
- Define a notify_picture() function which takes the following arguments:
CasePicture is intended to be used on a controlled local area network, so it doesn't include any kind of access control. However, you are free to add whatever access controls you like.
You'll probably need to tweak your php.ini settings, specifically upload_max_filesize and post_max_size.
- CasePicture relies on webcam.js , which is in maintenance mode at the time of writing. It's very likely webcam.js will no longer work after December 2018. Plans are to migrate to jpeg_camera
- PHP Zip extension for zipfile download/export
- webcam.js, created by Joseph Huckaby
- jquery.tablesorter.min.js, created by Christian Bach
- Bootstrap 3.x