{"id":26052506,"url":"https://github.com/gigouni/peepeepad","last_synced_at":"2026-06-05T11:31:46.017Z","repository":{"id":280901316,"uuid":"934250771","full_name":"gigouni/peepeepad","owner":"gigouni","description":"PeePeePad, the application to know which dog sleeps upstairs tonight.","archived":false,"fork":false,"pushed_at":"2025-03-05T22:26:43.000Z","size":1244,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-03-05T23:25:48.663Z","etag":null,"topics":["dogs","electron-react-boilerplate","firebase","personal-project","training"],"latest_commit_sha":null,"homepage":"https://peepeepad-fa20c.web.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gigouni.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"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":"2025-02-17T14:20:12.000Z","updated_at":"2025-03-05T22:26:46.000Z","dependencies_parsed_at":"2025-03-05T23:36:41.150Z","dependency_job_id":null,"html_url":"https://github.com/gigouni/peepeepad","commit_stats":null,"previous_names":["gigouni/peepeepad"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gigouni/peepeepad","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gigouni%2Fpeepeepad","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gigouni%2Fpeepeepad/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gigouni%2Fpeepeepad/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gigouni%2Fpeepeepad/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gigouni","download_url":"https://codeload.github.com/gigouni/peepeepad/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gigouni%2Fpeepeepad/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33939225,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-05T02:00:06.157Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["dogs","electron-react-boilerplate","firebase","personal-project","training"],"created_at":"2025-03-08T06:34:46.910Z","updated_at":"2026-06-05T11:31:45.997Z","avatar_url":"https://github.com/gigouni.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"assets/readme-app.png\" width=\"100%\" /\u003e\n\u003c/div\u003e\n\n\u003cbr\u003e\n\nPeePeePad, the application to know which dog sleeps upstairs tonight https://peepeepad-fa20c.web.app/.\n\n\u003c!-- TOC --\u003e\n\n- [1. Install](#1-install)\n- [2. Starting Development](#2-starting-development)\n  - [2.1. Env vars caveats](#21-env-vars-caveats)\n- [3. Packaging for Production \u0026 deploying to Firebase](#3-packaging-for-production--deploying-to-firebase)\n\n\u003c!-- /TOC --\u003e\n\n## 1. Install\n\nInstall dependencies:\n\n```bash\nnpm install\n```\n\n## 2. Starting Development\n\nComplete the `src/main/constants/sensitive-db.constants.ts` file with your Firebase credentials (values can be found in https://console.firebase.google.com/u/0/project/peepeepad-fa20c/settings/serviceaccounts/databasesecrets)\n\nStart the app in the `dev` environment:\n\n```bash\nnpm start\n```\n\n### 2.1. Env vars caveats\n\nTo follow best practices and prevent leaking secrets, I wanted to use a `.env` file to expose some environment variables like the Firebase credentials. Locally, it was okay, but during the packaging process, the Electron wrapping was isolating the app from the \"main\" world and preventing the use of `process.env`. Some alternatives were investigated, like the Electron IPC and the `exposeToMainWorld()` method to expose the env vars, but after some hours of research, the fun was gone, and I just wanted to release my pain from this issue. The credentials are now in the `src/main/constants/sensitive-db.constants.ts`, and you have to complete it yourself to enjoy the app.\n\n## 3. Packaging for Production \u0026 deploying to Firebase\n\n```bash\nnpm run firebase:deploy\n```\n\nThen, launch https://peepeepad-fa20c.web.app/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgigouni%2Fpeepeepad","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgigouni%2Fpeepeepad","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgigouni%2Fpeepeepad/lists"}