The website runs on a LAMP virtual server, utilizing Amazon's EC2 service. Currently, the resources available are quite modest, equivalent to a dual-core CPU with 4GB of RAM. As demand grows, I'll migrate the server to better hardware.
Submitted photos and
pictures generated from them are stored on Amazon S3. S3 also stores
the site's daily database backup.
Varnish is used to
improve site responsiveness. Zend OPCache is present for the same
reason.
Gearman is used to
run time-consuming tasks such as tile-matching and mosaic rendering.
Gearman Manager is used to manage worker processes.
The OAuth 2.0 client
created by thephpleague is used for authentication through social
login. Currently, four networks are supported: Facebook, Microsoft
Live, Google Plus, and Instagram.
The GD PHP extension
handles reading and writing of JPEG files as well as image scaling.
The QB PHP extension is used in computationally intensive image analyses and
manipulations. QB-accelerated code also handles geo-location of IP
addresses (using data files provided by MaxMind).
Mapbox is used to
obtain city names from GPS coordinates (reverse geocoding). The web
service is also used to parse search queries (forward geocoding).
On the frontend,
JQuery is used for basic Ajax transactions.
Dropzone.js handles
both “drag-and-drop” and “browse-to-file” uploads. The file
submission feature is supplemented by Dropbox's Chooser API, allowing
rapid transfer of already-uploaded files within the Amazon cloud.
Leaflet provides the
interface for maps that appear on this website.
No comments:
Post a Comment