{"id":22018180,"url":"https://github.com/codeharik/spacemoon","last_synced_at":"2026-04-20T05:35:46.609Z","repository":{"id":201029244,"uuid":"706722542","full_name":"CodeHariK/SpaceMoon","owner":"CodeHariK","description":"Connecting Universes. A Flutter Firebase social networking application.","archived":false,"fork":false,"pushed_at":"2025-06-05T17:46:00.000Z","size":15496,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-05T18:40:03.211Z","etag":null,"topics":["app","appstore","firebase","firebasecloudfunctions","flutter","flutter-apps","flutter-examples","flutter-ui","playstore"],"latest_commit_sha":null,"homepage":"https://spacemoon.shark.run","language":"Dart","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/CodeHariK.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-10-18T13:49:00.000Z","updated_at":"2025-06-05T17:46:01.000Z","dependencies_parsed_at":"2023-11-10T11:04:19.645Z","dependency_job_id":"2dc83fdf-6c0a-4939-a70b-c1bc084ccc5c","html_url":"https://github.com/CodeHariK/SpaceMoon","commit_stats":null,"previous_names":["codeharik/spacemoon"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CodeHariK/SpaceMoon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeHariK%2FSpaceMoon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeHariK%2FSpaceMoon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeHariK%2FSpaceMoon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeHariK%2FSpaceMoon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CodeHariK","download_url":"https://codeload.github.com/CodeHariK/SpaceMoon/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeHariK%2FSpaceMoon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32034910,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"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":["app","appstore","firebase","firebasecloudfunctions","flutter","flutter-apps","flutter-examples","flutter-ui","playstore"],"created_at":"2024-11-30T05:10:49.265Z","updated_at":"2026-04-20T05:35:46.592Z","avatar_url":"https://github.com/CodeHariK.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./assets/images/SpaceMoon.svg\" border-radius:300px;\" /\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003eSpaceMoon\u003c/h1\u003e\n\n# Connecting Universes\n\n[\u003cimg src=\"docs/images/googleplay.webp\" width='168' height='50'\u003e](https://play.google.com/store/apps/details?id=run.shark.spacemoon)\n[\u003cimg src=\"docs/images/appstore.png\" width='168' height='50'\u003e](https://apps.apple.com/us/app/spacemoon/id6469975482)\n[\u003cimg src=\"./assets/images/SpaceMoon.svg\" width='70' height='70'\u003e](https://spacemoon.shark.run)\n\n[Figma File](https://www.figma.com/file/f9r4LYaKrL5d97A1bEi1Lt/Spacemoon?type=design\u0026node-id=0%3A1\u0026mode=design\u0026t=Ji6lHXDfgJnUdlG3-1)\n\n[![iPhone](docs/images/iPhone15max.png)](https://www.figma.com/file/f9r4LYaKrL5d97A1bEi1Lt/Spacemoon?type=design\u0026node-id=0%3A1\u0026mode=design\u0026t=Ji6lHXDfgJnUdlG3-1)\n\n## How to build\n\n```dart\nflutterfire configure\ndart run build_runner watch --delete-conflicting-outputs\nflutter pub upgrade\n\nGenerate Flutter l10n\n  flutter gen-l10n\n\nFor local emulator cloud function, configure appcheck debug token in Firebase console.\nFor android local emulator, change computerIp in firebase.dart to your computer ip address.\nEnable useEmulator in main.dart\n\nEnable debugMode in main.dart for appcheck token\n\nTo disable cloud function region comment out (  region: 'asia-south1'  ) in all cloud functions.\n\nTo disable appcheck enforcemnt comment out (enforceAppCheck: true) in all cloud functions.\n\nRunning Cloud function Emulator:\n  firebase emulators:start\n\nBuilding Cloud Functions\n  cd functions\n  npm run build:watch\n\nGenerating Proto files\n  cd proto\n  npx buf generate lib\n```\n\n## Documentation\n\n- [x] [Cli Cheat Sheet](./docs/steps/CliCheatSheet.md)\n\n- [x] [Creating Project and Configuring Firebase](./docs/steps/Create.md)\n\n- [x] [Creating Apple Certificates, Identifiers \u0026 Profiles](./docs/steps/AppleAppStore.md)\n- [x] [Playstore](./docs/steps/GooglePlayStore.md)\n\n- [x] [Protocol Buffers](./docs/steps/ProtocolBuffer.md)\n- [x] [Firebase Auth : Email, Google, Apple](./docs/steps/Auth.md)\n- [x] [Firebase App Check](./docs/steps/AppCheck.md)\n- [x] [Deep linking](./docs/steps/DeepLinking.md)\n- [x] [Firebase Messaging](./docs/steps/FirebaseMessaging.md)\n- [x] [Firebase Cloud Firestore](./docs/steps/CloudFirestore.md)\n- [x] [Splash Screen Icons](./docs/steps/SplashScreenIcons.md)\n- [x] [Security Rules](./docs/steps/SecurityRules.md)\n- [x] [App Security](./docs/steps/AppSecurity.md)\n- [x] [Permissions](./docs/steps/Permissions.md)\n- [x] [Firebase Crashlytics](https://firebase.google.com/docs/crashlytics)\n- [x] [Riverpod StateManagement](./docs/steps/StateManagement.md)\n- [x] [Gorouter](https://pub.dev/packages/go_router)\n- [x] [DevTools](./docs/steps/DevTools.md)\n\n- [x] [Jetpack Compose](./docs/steps/JetpackCompose.md)\n- [x] [Google Cloud Fuctions Go](./docs/steps/GoogleCloudFuctionsGo.md)\n\n- [x] [Flutter architectural overview](https://docs.flutter.dev/resources/architectural-overview)\n- [x] [Inside Flutter](https://docs.flutter.dev/resources/inside-flutter)\n- [x] [Understanding constraints](https://docs.flutter.dev/ui/layout/constraints)\n\n## [Schema](proto/lib/data.proto)\n\n![Spacemoon](./spacemoon.drawio.svg)\n\n## Cloud Functions\n\n### Auth User\n\n- [x] Create User : [onUserCreate](functions/src/users.ts#10)\n- [x] Update User : [callUserUpdate](functions/src/users.ts#L35)\n- [x] Delete User : [deleteAuthUser](functions/src/users.ts#L67)\n\n### Chat Room\n\n- [x] Create Chat Room : [callCreateRoom](functions/src/room.ts#L12)\n- [x] Update Room Info : [updateRoomInfo](functions/src/room.ts#L130)\n- [x] Delete Room : [deleteRoom](functions/src/room.ts#L81)\n\n### Chat Room User\n\n- [x] Upgrade Access To Room : [upgradeAccessToRoom](functions/src/roomuser.ts#L95)\n- [x] Update RoomUser Time : [updateRoomUserTime](functions/src/roomuser.ts#L43)\n- [x] Delete RoomUser : [deleteRoomUser](functions/src/roomuser.ts#L85)\n\n### Tweet\n\n- [x] Send Tweet : [sendTweet](functions/src/tweet.ts#L10)\n- [x] Update Tweet : [updateTweet](functions/src/tweet.ts#L53)\n- [x] Delete Tweet : [sendTweet](functions/src/tweet.ts#L96)\n\n### Messaging\n\n- [x] Tweet to Topic : [tweetToTopic](functions/src/messaging.ts#L108)\n- [x] Save FCM Token : [callFCMtokenUpdate](functions/src/messaging.ts#L183)\n- [x] Subscribe to Topic : [callSubscribeFromTopic](functions/src/messaging.ts#L54)\n- [x] Unsubscribe to Topic : [callUnsubscribeFromTopic](functions/src/messaging.ts#L42)\n- [x] Toggle Topic Subsription : [toggleTopicSubsription](functions/src/messaging.ts#L66)\n- [x] Update FCM Token : [callFCMtokenUpdate](functions/src/messaging.ts#L183)\n- [x] Delete FCM Token : [deleteFCMToken](functions/src/messaging.ts#L177 )\n- [x] Schedule Prune Tokens : [pruneTokens](functions/src/messaging.ts#L211)\n\n### Image Resize\n\n- [x] Generate Thumbnail : [pruneTokens](functions/src/image.ts#L11)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeharik%2Fspacemoon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodeharik%2Fspacemoon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeharik%2Fspacemoon/lists"}