Create temporary chatrooms for you and your friends!
This repository contains the source code for TempChats, a web application that allows users to quickly and easily create temporary chatrooms for private conversations. No accounts are required, making it perfect for quick chats, sharing links, or collaborating on the fly.
Live Demo: https://tempchats.web.app/
- Instant Chatrooms: Create a new chatroom with a single click. A unique Code is generated that you can share with others.
- No Registration: No accounts or sign-ups are needed. Start chatting immediately.
- Temporary: Chatrooms are ephemeral. They disappear after a period of inactivity (currently approximately 24 hours).
- Simple Interface: Clean and intuitive design for a seamless user experience.
- Secure: While messages are not end-to-end encrypted, the temporary nature of the chatrooms provides a degree of privacy. (See Security Considerations below for more details).
- Frontend:
- HTML
- CSS
- JavaScript
- Backend: Client-side only
- Database: Firebase Firestore
- Hosting: Firebase Hosting
- Node.js and npm (or yarn)
- Firebase CLI:
npm install -g firebase-tools
- Clone the repository:
git clone https://github.com/DaDevMikey/TempChats.git - Navigate to the project directory:
cd TempChats - Install dependencies:
npm install(oryarn install)
- Firebase Login:
firebase login(You'll need to authenticate with your Google account) - Firebase Project Initialization:
firebase init- Choose "Hosting" and "Firestore" when prompted.
- Select "Use an existing project" and choose your Firebase project (or create a new one in the Firebase console).
- Configure the public directory (usually "public").
- Choose whether or not to configure as a single-page app (usually "yes" for modern web apps).
- Firebase Configuration: You'll need to configure your Firebase project settings. This usually involves setting up your web configuration in the Firebase console and adding the configuration details to your project (often in a
firebase.jsor similar file). The exact steps will vary depending on your project setup, but you'll need to include API keys, project ID, etc. Do not commit these sensitive keys to your repository. A common approach is to use environment variables.
- Serve Locally:
firebase emulators:start(This will start both the hosting emulator and the Firestore emulator. It's highly recommended to use emulators during development) orfirebase serve(for just hosting). - Deploy:
firebase deploy(This will deploy your application to Firebase Hosting.)
- Ephemeral Nature: The temporary nature of the chatrooms helps to protect privacy, as conversations are not permanently stored.
- No End-to-End Encryption: Currently, messages are not end-to-end encrypted. Avoid sharing highly sensitive information.
- Security Best Practices: Using Firebase's built-in security rules for Firestore is highly recommended. These rules allow you to control who can read and write data to your database.
Contributions are welcome! Please open an issue or submit a pull request.
CC0-1.0 license
@DaDevMikey - DaManMikey On Discord