https://github.com/codeharik/spacemoon
Connecting Universes. A Flutter Firebase social networking application.
https://github.com/codeharik/spacemoon
app appstore firebase firebasecloudfunctions flutter flutter-apps flutter-examples flutter-ui playstore
Last synced: 7 months ago
JSON representation
Connecting Universes. A Flutter Firebase social networking application.
- Host: GitHub
- URL: https://github.com/codeharik/spacemoon
- Owner: CodeHariK
- Created: 2023-10-18T13:49:00.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-03T17:38:34.000Z (almost 2 years ago)
- Last Synced: 2025-01-28T16:16:44.864Z (8 months ago)
- Topics: app, appstore, firebase, firebasecloudfunctions, flutter, flutter-apps, flutter-examples, flutter-ui, playstore
- Language: Dart
- Homepage: https://spacemoon.shark.run
- Size: 14.7 MB
- Stars: 7
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![]()
SpaceMoon
# Connecting Universes
[
](https://play.google.com/store/apps/details?id=run.shark.spacemoon)
[](https://apps.apple.com/us/app/spacemoon/id6469975482)
[](https://spacemoon.shark.run)
[Figma File](https://www.figma.com/file/f9r4LYaKrL5d97A1bEi1Lt/Spacemoon?type=design&node-id=0%3A1&mode=design&t=Ji6lHXDfgJnUdlG3-1)
[](https://www.figma.com/file/f9r4LYaKrL5d97A1bEi1Lt/Spacemoon?type=design&node-id=0%3A1&mode=design&t=Ji6lHXDfgJnUdlG3-1)
## How to build
```dart
flutterfire configure
dart run build_runner watch --delete-conflicting-outputs
flutter pub upgradeGenerate Flutter l10n
flutter gen-l10nFor local emulator cloud function, configure appcheck debug token in Firebase console.
For android local emulator, change computerIp in firebase.dart to your computer ip address.
Enable useEmulator in main.dartEnable debugMode in main.dart for appcheck token
To disable cloud function region comment out ( region: 'asia-south1' ) in all cloud functions.
To disable appcheck enforcemnt comment out (enforceAppCheck: true) in all cloud functions.
Running Cloud function Emulator:
firebase emulators:startBuilding Cloud Functions
cd functions
npm run build:watchGenerating Proto files
cd proto
npx buf generate lib
```## Documentation
- [x] [Cli Cheat Sheet](./docs/steps/CliCheatSheet.md)
- [x] [Creating Project and Configuring Firebase](./docs/steps/Create.md)
- [x] [Creating Apple Certificates, Identifiers & Profiles](./docs/steps/AppleAppStore.md)
- [x] [Playstore](./docs/steps/GooglePlayStore.md)- [x] [Protocol Buffers](./docs/steps/ProtocolBuffer.md)
- [x] [Firebase Auth : Email, Google, Apple](./docs/steps/Auth.md)
- [x] [Firebase App Check](./docs/steps/AppCheck.md)
- [x] [Deep linking](./docs/steps/DeepLinking.md)
- [x] [Firebase Messaging](./docs/steps/FirebaseMessaging.md)
- [x] [Firebase Cloud Firestore](./docs/steps/CloudFirestore.md)
- [x] [Splash Screen Icons](./docs/steps/SplashScreenIcons.md)
- [x] [Security Rules](./docs/steps/SecurityRules.md)
- [x] [App Security](./docs/steps/AppSecurity.md)
- [x] [Permissions](./docs/steps/Permissions.md)
- [x] [Firebase Crashlytics](https://firebase.google.com/docs/crashlytics)
- [x] [Riverpod StateManagement](./docs/steps/StateManagement.md)
- [x] [Gorouter](https://pub.dev/packages/go_router)
- [x] [DevTools](./docs/steps/DevTools.md)- [x] [Jetpack Compose](./docs/steps/JetpackCompose.md)
- [x] [Google Cloud Fuctions Go](./docs/steps/GoogleCloudFuctionsGo.md)- [x] [Flutter architectural overview](https://docs.flutter.dev/resources/architectural-overview)
- [x] [Inside Flutter](https://docs.flutter.dev/resources/inside-flutter)
- [x] [Understanding constraints](https://docs.flutter.dev/ui/layout/constraints)## [Schema](proto/lib/data.proto)

## Cloud Functions
### Auth User
- [x] Create User : [onUserCreate](functions/src/users.ts#10)
- [x] Update User : [callUserUpdate](functions/src/users.ts#L35)
- [x] Delete User : [deleteAuthUser](functions/src/users.ts#L67)### Chat Room
- [x] Create Chat Room : [callCreateRoom](functions/src/room.ts#L12)
- [x] Update Room Info : [updateRoomInfo](functions/src/room.ts#L130)
- [x] Delete Room : [deleteRoom](functions/src/room.ts#L81)### Chat Room User
- [x] Upgrade Access To Room : [upgradeAccessToRoom](functions/src/roomuser.ts#L95)
- [x] Update RoomUser Time : [updateRoomUserTime](functions/src/roomuser.ts#L43)
- [x] Delete RoomUser : [deleteRoomUser](functions/src/roomuser.ts#L85)### Tweet
- [x] Send Tweet : [sendTweet](functions/src/tweet.ts#L10)
- [x] Update Tweet : [updateTweet](functions/src/tweet.ts#L53)
- [x] Delete Tweet : [sendTweet](functions/src/tweet.ts#L96)### Messaging
- [x] Tweet to Topic : [tweetToTopic](functions/src/messaging.ts#L108)
- [x] Save FCM Token : [callFCMtokenUpdate](functions/src/messaging.ts#L183)
- [x] Subscribe to Topic : [callSubscribeFromTopic](functions/src/messaging.ts#L54)
- [x] Unsubscribe to Topic : [callUnsubscribeFromTopic](functions/src/messaging.ts#L42)
- [x] Toggle Topic Subsription : [toggleTopicSubsription](functions/src/messaging.ts#L66)
- [x] Update FCM Token : [callFCMtokenUpdate](functions/src/messaging.ts#L183)
- [x] Delete FCM Token : [deleteFCMToken](functions/src/messaging.ts#L177 )
- [x] Schedule Prune Tokens : [pruneTokens](functions/src/messaging.ts#L211)### Image Resize
- [x] Generate Thumbnail : [pruneTokens](functions/src/image.ts#L11)