{"id":18487397,"url":"https://github.com/googlearchive/friendlypix-web","last_synced_at":"2025-04-08T20:31:02.831Z","repository":{"id":146872510,"uuid":"97648292","full_name":"googlearchive/friendlypix-web","owner":"googlearchive","description":"FriendlyPix is a cross-platform Firebase example app - This is the web version","archived":true,"fork":false,"pushed_at":"2020-07-24T12:45:06.000Z","size":1884,"stargazers_count":311,"open_issues_count":1,"forks_count":152,"subscribers_count":72,"default_branch":"master","last_synced_at":"2024-11-06T12:59:51.744Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/googlearchive.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-18T22:11:05.000Z","updated_at":"2024-08-03T01:27:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"8705860b-ed97-44c8-97c0-adf049771449","html_url":"https://github.com/googlearchive/friendlypix-web","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/googlearchive%2Ffriendlypix-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googlearchive%2Ffriendlypix-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googlearchive%2Ffriendlypix-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googlearchive%2Ffriendlypix-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/googlearchive","download_url":"https://codeload.github.com/googlearchive/friendlypix-web/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247922798,"owners_count":21018859,"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-06T12:50:27.767Z","updated_at":"2025-04-08T20:31:02.824Z","avatar_url":"https://github.com/googlearchive.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# Status: Archived\nThis repository has been archived and is no longer maintained.\n\n![status: inactive](https://img.shields.io/badge/status-inactive-red.svg)\n\n\n# Friendly Pix Web\n\nFriendly Pix Web is a sample app demonstrating how to build a JavaScript/Web app with the Firebase Platform.\n\nFriendly Pix is a place where you can share photos, follow friends, comment on photos...\n\nTo see it in action, have a look at [friendly-pix.com](https://friendly-pix.com)\n\n\n## Few words on technology used\n\nThe Friendly Pix frontend is built using JavaScript, [Firebase](https://firebase.google.com/docs/web/setup) and jQuery.\n\nFriendly Pix is written in ES2017 using Modules so for wide browser support the code is packed and transpiled to ES5 using [Webpack](https://webpack.js.org/). \n\nThe Auth flow is using [Firebase-UI](https://github.com/firebase/firebaseui-web).\n\nJavascript Runtime dependencies as well as Build and deploy dependecies are managed using [npm](http://npmjs.com/). \n\nServer-side micro-services are built on [Cloud Functions for Firebase](https://firebase.google.com/docs/functions).\n\n\n## Create and configure your Firebase Project\n\n1. In a console run `npm install` to install all Build/Deploy tools dependencies.\n1. Create a Firebase project using the [Firebase Console](https://firebase.google.com/console).\n1. Visit the **Storage** section and enable storage by clicking the **Getting Started** button.\n1. Enable **Google** as a Sign in provider in **Firebase Console \u003e Authentication \u003e Sign in Method** tab.\n1. In a console run `firebase use --add` and, when prompted, select the Firebase Project you have just created. This will make sure the Firebase CLI is configured to use your particular project.\n1. [Optional] To enable the automatic inapropriate image blurring, [Enable the Cloud Vision API](https://console.cloud.google.com/apis/api/vision.googleapis.com/overview?project=_) on your project and enable Billing.\n1. [Optional] To enable email notifications for flagged content, set your Mailgun API credentials using:\n    ```bash\n    firebase functions:config:set mailgun.domain=friendly-pix.com mailgun.key=key-XXXXXXXXXXXXXXXX\n    ```\n1. [Optional] To enable IP-based geolocation filters, [Enable the Geolocation API](https://console.cloud.google.com/apis/library/geolocation.googleapis.com/?project=_) and the [Geocoding API](https://console.cloud.google.com/apis/library/geocoding-backend.googleapis.com/?project=_) on your project.\n\n\n## Start a local development server\n\nYou can start a local development server by running:\n\n```bash\nnpm run serve\n```\n\nThis will start `firebase serve` and make sure your Javascript files are transpiled automatically to ES5.\n\nThen open [http://localhost:5000](http://localhost:5000)\n\n\u003e Note 1: On new projects, the Realtime Database and Cloud Storage come with default Security rules that prevent all read and writes. You'll need to deploy the security rules and Cloud Functions once first. For this run: `firebase deploy --only database,storage`\n\n\u003e Note 2: All Cloud Functions cannot yet be ran locally. Deploy them once first if you want these features active (such as image and text moderation). For this run: `firebase deploy --only functions`\n\n\n## Deploy the app\n\nTo deploy the app run:\n\n```bash\nfirebase deploy\n```\n\nBefore deploying this will automatically install all runtime dependencies, transpile the Javascript code to ES5 and install Cloud Functions dependencies.\nThen this deploys a new version of your code that will be served from `https://\u003cPROJECT_ID\u003e.firebaseapp.com`\n\n\n## Admins\n\nTo make a user an admin - allowing him to delete any posts - manually add an entry to `/admins/$index/email: admin@email.com`. For instance `/admins/1/email: bob@gmail.com`.\n\n\n## Mobile Apps\n\nThe [Android](https://github.com/firebase/friendlypix-android) and [iOS](https://github.com/firebase/friendlypix-ios) versions of FriendlyPix need the Cloud Functions, the Realtime Database rules and the Cloud Storage rules to be deployed to work properly. To deploy these run:\n\n```bash\nfirebase deploy --only functions,database,storage\n```\n\n\n## Contributing\n\nWe'd love that you contribute to the project. Before doing so please read our [Contributor guide](CONTRIBUTING.md).\n\n\n## License\n\n© Google, 2011. Licensed under an [Apache-2](LICENSE) license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgooglearchive%2Ffriendlypix-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgooglearchive%2Ffriendlypix-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgooglearchive%2Ffriendlypix-web/lists"}