{"id":22812246,"url":"https://github.com/gnowoel/talktive","last_synced_at":"2025-04-22T15:47:16.518Z","repository":{"id":249822860,"uuid":"792586364","full_name":"gnowoel/talktive","owner":"gnowoel","description":"A simple anonymous group chat app","archived":false,"fork":false,"pushed_at":"2025-04-22T14:22:53.000Z","size":1977,"stargazers_count":10,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-22T15:35:09.030Z","etag":null,"topics":["anonymous-chat","chat-app","firebase","flutter","group-chat","web-app"],"latest_commit_sha":null,"homepage":"https://talktive.app/","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/gnowoel.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2024-04-27T02:03:20.000Z","updated_at":"2025-04-15T02:38:14.000Z","dependencies_parsed_at":"2025-04-22T15:37:25.414Z","dependency_job_id":null,"html_url":"https://github.com/gnowoel/talktive","commit_stats":null,"previous_names":["gnowoel/talktive"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnowoel%2Ftalktive","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnowoel%2Ftalktive/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnowoel%2Ftalktive/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnowoel%2Ftalktive/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gnowoel","download_url":"https://codeload.github.com/gnowoel/talktive/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250272547,"owners_count":21403412,"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":["anonymous-chat","chat-app","firebase","flutter","group-chat","web-app"],"created_at":"2024-12-12T12:11:16.509Z","updated_at":"2025-04-22T15:47:16.507Z","avatar_url":"https://github.com/gnowoel.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Talktive\n\nA simple anonymous group chat app for comfortably talking to strangers. Try the [web app](https://open.talktive.app/) or get the Android version from Google Play.\n\n[![google-play-badge](https://github.com/user-attachments/assets/bb22e307-7b4d-4871-ad1a-57d1d4b3b809)](https://play.google.com/store/apps/details?id=app.talktive)\n\n## Screenshots\n\n![screenshots](https://github.com/user-attachments/assets/855c3de8-6c62-4d83-bfd9-122a684cd14b)\n\n## Main features\n\n**:see_no_evil: Anonymous**\n\nThere is no login button. You do not need to enter any personal information to participate in a chat. Just open the app and join the room.\n\n**:cyclone: Random**\n\nYou don't know who you're going to meet, and you don't know where they're coming from. All you know is that people here are willing to listen.\n\n**:droplet: Ephemeral**\n\nYou can open your heart and share your happiness or sadness. In an hour, everyone goes their separate ways, like strangers you met on a train.\n\n**:lock: Private**\n\nNo one but the participants can see your conversations. Expired rooms are not publicly accessible, and all records will eventually be deleted.\n\n## Implementation\n\nThe technical details can be found in the blog post:\n\n* [The Challenges of Building a Simple Chat App with Flutter and Firebase](https://medium.com/@gnowoel/the-challenges-of-building-a-simple-chat-app-with-flutter-and-firebase-b9f0a2f0f889)\n\n## Firebase setup\n\nCreate a new Firebase project, and enable the following services:\n\n* Authentication (Anonymous)\n* Realtime Database\n* Functions\n\nIn order to use Cloud Functions, we need to upgrade the project to the Blaze plan (pay-as-you-go).\n\n## Local setup\n\nClone the repo:\n\n```\n$ git clone https://github.com/gnowoel/talktive.git\n$ cd talktive\n```\n\nConfigure FlutterFire:\n\n```\n$ firebase login\n$ dart pub global activate flutterfire_cli\n$ flutterfire configure\n```\n\nConfigure Firebase:\n\n```\n$ firebase init\n```\n\nSelect the following services:\n\n* Firestore\n* Functions\n* Storage\n* Emulators\n* Realtime Database\n\nFor \"Functions\", select:\n\n* TypeScript\n\nFor \"Emulators\", select:\n\n* Authentication Emulator\n* Functions Emulator\n* Firestore Emulator\n* Database Emulator\n* Pub/Sub Emulator\n* Storage Emulator\n\n## Running\n\nWatch and compile Cloud Functions code (from the `functions` directory):\n\n```\n$ npm run build:watch\n```\n\nStart Emulators Suite, and take a note of the URL for the HTTP request:\n\n```\n$ firebase emulators:start\n```\n\nTrigger the scheduler once with an HTTP request, using the URL from the previous step:\n\n```\n$ curl http://127.0.0.1:5001/talktive-12345/us-central1/requestedCleanup\n```\n\nOptionally start a device simulator or emulator, for example:\n\n```\n$ flutter emulators --launch apple_ios_simulator\n```\n\nOptionally run the unit and integration tests:\n\n```\n$ flutter test\n$ flutter test integration_test\n```\n\nStart the app:\n\n```\n$ flutter run\n```\n\n## Deployment\n\nDeploy Security Rules for Realtime Database, Cloud Firestore and Firebase Storage:\n\n```\n$ firebase deploy --only database,firestore,storage\n```\n\nDeploy Cloud Functions (from the `functions` directory):\n\n```\n$ npm run deploy\n```\n\nBuild the `web` release of the Flutter app:\n\n```\n$ flutter build web\n```\n\nUpload the `build/web` directory to your hosting service of choice.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgnowoel%2Ftalktive","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgnowoel%2Ftalktive","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgnowoel%2Ftalktive/lists"}