Flamework is the semi-fictional framework that powers Flickr.com. It's less of an actual framework and more of a design philosophy. None of the code in this project is actually taken from Flickr, but is rather a reconstruction of the way we built things there and the way we continue to build things now.
This library is a work in progress. While it basically works, it's lacking lots of the bits it really needs. As we pull these parts from other projects (and I've built most parts 10 times over by now), it'll start to take better shape. If you have stuff you want to add, fork, commit and file a pull-request.
- Copy everything in
www
to a web server running Apache withmod_php
andphp5-mcrypt
. - Enable
AllowOverrides all
for the root. - Copy
include/config.php.example
toinclude/config.php
and edit it. - Ensure that the
templates_c
directory can be written to by your webserver. - Load the schema into mysql:
mysql -uwww -Dflamework -p < schema/db_main.schema
That might be it.
If you'd like to use Flamework as an external library, read this.
There are several drop-in external libraries for common tasks:
- flamework-geo - Geo libraries and helper functions
- flamework-aws - S3 upload library
- flamework-api - Add an external API
- flamework-invitecodes - Generate invite codes
- flamework-useragent - Parse useragent strings
- flamework-JSON - Parse invalid JSON
Aaron has created several starter configurations for using delegated auth:
- flamework-flickrapp - Authenticate using Flickr
- flamework-twitterapp - Authenticate using Twitter
- flamework-foursquareapp - Authenticate using foursquare
- flamework-osmapp - Authenticate using OpenStreetMap
And some random odds and ends:
- flamework-tools - Automation scripts