Talkomatic is an online platform for real-time text communication, essentially a modern reimagining of the classic chat room experience. Users can type messages, and everyone in the room can see the messages as they are being typed, creating a unique and engaging chat experience.
Check out the website here: open.talkomatic.co
- Real-time Chat: See messages as they're being typed, not just after they're sent.
- Multiple Room Types: Create public, semi-private (with access code), or private rooms.
- Flexible Layout: Choose between horizontal or vertical room layouts.
- User Presence: See who's in the room and their locations.
- Invite System: Easily invite others to your chat room with a generated link.
- Sound Notifications: Audible cues when users join or leave the room.
- Mobile Responsive: Adapts to different screen sizes for a seamless experience on any device.
- Node.js
- Express.js
- Socket.IO
- HTML5
- CSS3
- JavaScript (ES6+)
Before you begin, ensure you have met the following requirements:
- You have installed Node.js (version 12.0 or later)
- You have a basic understanding of JavaScript and Node.js
-
Clone the repository:
git clone https://github.com/MohdYahyaMahmodi/talkomatic-classic.git
-
Navigate to the project directory:
cd talkomatic-classic
-
Install the dependencies:
npm install
The application works without configuration, but you can customize it using an optional .env
file:
-
Create a
.env
file in the root directory of the project (if desired). -
Add any of the following environment variables:
NODE_ENV=development SESSION_SECRET=your_session_secret_here ALLOWED_ORIGINS=http://localhost:3000 PORT=3000
Replace
your_session_secret_here
with a strong, unique secret for session management.
To run Talkomatic:
node server.js
The application will be available at http://localhost:3000
(or the port specified in your .env
file if you created one).
-
Joining the Lobby:
- Open your web browser and navigate to
http://localhost:3000
. - Enter your name and optional location to sign in.
- Open your web browser and navigate to
-
Creating a Room:
- In the lobby, fill in the room details (name, type, layout).
- Click "Go Chat" to create and enter the room.
-
Joining a Room:
- In the lobby, you'll see a list of available public and semi-private rooms.
- Click "Enter" on any room to join.
- For semi-private rooms, you'll need to enter the access code.
-
Chatting:
- Once in a room, start typing in your designated text area.
- Your message will appear in real-time for all users in the room.
-
Inviting Others:
- Use the invite link provided in the room to invite others.
-
Leaving a Room:
- Click "Leave Room" to exit and return to the lobby.
We welcome contributions to Talkomatic! Here are some ways you can contribute:
- Report bugs and suggest features by opening issues.
- Submit pull requests with bug fixes or new features.
- Improve documentation or add translations.
Please read our Contributing Guidelines for more details.
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by the original Talkomatic chat system from the 1970s.
- Thanks to all contributors who have helped shape this project.
Mohd Mahmodi
- Website: mohdmahmodi.com
- Twitter: @mohdmahmodi
- Email: [email protected]
If you have any questions or feedback, please feel free to reach out:
- Open an issue on GitHub
- Contact the author directly using the information above
Enjoy chatting with Talkomatic!