Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jglchen/firestore-realtime-chat
A real-time chat application with Next.js using Firebase Cloud FireStore.
https://github.com/jglchen/firestore-realtime-chat
chat docker firebase firebase-firestore firestore nextjs reactjs typescript
Last synced: about 20 hours ago
JSON representation
A real-time chat application with Next.js using Firebase Cloud FireStore.
- Host: GitHub
- URL: https://github.com/jglchen/firestore-realtime-chat
- Owner: jglchen
- Created: 2023-01-04T02:01:33.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-14T08:31:06.000Z (6 months ago)
- Last Synced: 2024-05-14T09:27:05.600Z (6 months ago)
- Topics: chat, docker, firebase, firebase-firestore, firestore, nextjs, reactjs, typescript
- Language: TypeScript
- Homepage: https://firestore-realtime-chat.vercel.app
- Size: 688 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Chat Applications with Cloud Firestore
We can successfully build a real-time chat application with [Next.js](https://nextjs.org/) using [Socket.IO](https://socket.io/). The real-time communication however was found not to function well once the package is deployed to Vercel, which is a serverless platform. It is suggested by Vercel two main approaches to applying a real-time model to stateless serverless functions.
1. Serverless Functions have maximum execution limits and should respond as quickly as possible. They should not subscribe to data events. Instead, we need a client that subscribes to data events (such as [Alby](https://ably.com/), [Pusher](https://pusher.com/), etc.) and a serverless function that publishes new data.
2. Rather than pushing data, we can fetch real-time data on-demand. For example, the Vercel dashboard delivers realtime updates using [SWR](https://swr.vercel.app/).In this demonstration, we build a real-time chat application with [Firebase Cloud FireStore](https://firebase.google.com/products/firestore).
**iOS** and **Android** mobile apps are also delivered. The apps are developed with **React Native**, anyone who is interested can test the development builds with [iOS Simulator Build](https://expo.dev/accounts/jglchen/projects/firestore-realtime-chat/builds/2c3cb3b7-2253-421f-9ab7-cb5ff98492b6) and [Android Internal Distribution Build](https://expo.dev/accounts/jglchen/projects/firestore-realtime-chat/builds/de478887-4f60-43d5-9911-d20d55627706). If the build storage link has expired, please go to [https://projects-jglchen.vercel.app/en/contact](https://projects-jglchen.vercel.app/en/contact) to request build files.
### [View the App](https://firestore-realtime-chat.vercel.app)
### [App GitHub](https://github.com/jglchen/firestore-realtime-chat)
### Docker: docker run -p 3000:3000 jglchen/firestore-realtime-chat
### [iOS Simulator Build](https://expo.dev/accounts/jglchen/projects/firestore-realtime-chat/builds/2c3cb3b7-2253-421f-9ab7-cb5ff98492b6)
### [Android Internal Distribution Build](https://expo.dev/accounts/jglchen/projects/firestore-realtime-chat/builds/de478887-4f60-43d5-9911-d20d55627706)
### [React Native GitHub](https://github.com/jglchen/firestore-realtime-chat-mobile)