{"id":21626482,"url":"https://github.com/qodesmith/simple-photo-gallery","last_synced_at":"2026-04-11T06:02:21.456Z","repository":{"id":31951060,"uuid":"35520885","full_name":"qodesmith/simple-photo-gallery","owner":"qodesmith","description":"A simple photo gallery served up with data from a JSON object over a plate of Node.","archived":false,"fork":false,"pushed_at":"2015-05-13T11:01:57.000Z","size":6772,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-24T22:42:51.074Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qodesmith.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-05-13T01:13:07.000Z","updated_at":"2015-05-13T01:13:43.000Z","dependencies_parsed_at":"2022-08-24T10:30:56.533Z","dependency_job_id":null,"html_url":"https://github.com/qodesmith/simple-photo-gallery","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qodesmith%2Fsimple-photo-gallery","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qodesmith%2Fsimple-photo-gallery/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qodesmith%2Fsimple-photo-gallery/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qodesmith%2Fsimple-photo-gallery/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qodesmith","download_url":"https://codeload.github.com/qodesmith/simple-photo-gallery/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244298620,"owners_count":20430466,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-25T01:13:29.076Z","updated_at":"2025-12-30T22:07:33.502Z","avatar_url":"https://github.com/qodesmith.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# simple-photo-gallery\nA simple photo gallery served up with data from a JSON object over a plate of Node.\n\nA few things to note...\n\n#####CORS Error Hell\nI originally planned on making AJAX calls to a local JSON file which would serve up the data.\nChrome is just fussy and won't let it happen. My second course of action was to upload the file to my domain\nhosting service. More CORS error hell. I finally threw in the white towel and whipped up a Node.js server.\nVoila. Problem solved. Node rules.\n\n#####Backbone \u0026 Handlebars\nI love Backbone. I used a single view with multiple templates to maintain the front end. A single backbone collection\nget populated with the photos in the JSON file. Handlebars comes pre-packaged with some decent out-of-the-box helpers.\nI put handlebars to work by iterating over the collection of photos and creating the thumbnails accordingly.\n\n#####Design Choice, CSS, \u0026 MVP\nI think I stayed within the ball-park of the original design. I took a few liberties here and there, but stayed within\nboundaries. Then we come to the MVP - a working photo gallery. Please know that we are in the middle of our final project\nas we graduate in 3 days. I wanted to show you guys I couldn't get the job done while keeping the look good. Time vs\ndetails were in tension here. Given a bit more time I would like to have added jQuery fades and transitions on each\nclick.\nFor the record, I'm self-taught when it comes to html and css. There's only one css file for this project, however, on larger projects I break up the css into individual files for each feature / page / etc. I'm sure there's room for improvements, which I look forward to discussing.\n\n#####Features\nAll four arrow keys are mapped to the app (\u003c- that rhymes) and function just like a click on the arrow would. The\nthumbnails on the bottom are all at half opacity save the selected image. Hovering over non-selected images brings them\nto full opacity. The arrows also fade to a solid white when hovering. I like opacities. What can I say ;)\n\n#####JavaScript Code\nI hope we get a chance to get under the hood and discuss my logic in person. You'll find comments liberally inserted throughout. The Backbone view contains the functions that fuel the gallery. All in all, this was a pleasant challenge. Given the situation and current allotment of time, I'm proud of this work. Hope you guys like it!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqodesmith%2Fsimple-photo-gallery","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqodesmith%2Fsimple-photo-gallery","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqodesmith%2Fsimple-photo-gallery/lists"}