PuffinTalk is a lightweight web-based instant messaging application designed to work on CloudMosa Cloud Phone. But it can also runs in Desktop and mobile web browser with limited features. This README document outlines the specifications and features of the app.
PuffinTalk uses phone numbers as the primary user account and identity. This ensures a seamless and secure way to identify users uniquely. To sign up or sign in to PuffinTalk, the system will send a one-time code via SMS to the user's phone number. Users must enter this code to complete the signup or sign-in process.
PuffinTalk allows users to send messages only to other PuffinTalk users who are in their contact list. To add someone to the contact list, users must invite them using their phone number. If the invited person does not have a PuffinTalk account, the system will send them instructions on how to create one. Upon receiving a friend invitation, the recipient can choose to either block or accept it. If the invitation is blocked, the sender will not be notified, and the friend request will remain pending. If the invitation is accepted, both users can start a conversation and exchange messages.
PuffinTalk supports sending:
- Text messages
- Emojis
- Audio clips
- Video clips
Note: PuffinTalk does not support group chat.
- Real-time Messaging: Send and receive messages instantly.
- User Authentication: Secure login and registration system.
- Responsive Design: Designed for QVGA and QQVGA feature phone.
- Navigation: Support both keypad and touch screen navigation.
- Message History: Persistent message history for each conversation.
- Read Receipts: Know when your messages have been read.
- Notifications: Real-time notifications for new messages.
- Frontend: HTML, CSS, JavaScript, React
- Backend: Node.js
- Database: PostgreSQL
- WebSocket: Socket.IO for real-time communication
- Authentication: JWT (JSON Web Tokens)
Before installing PuffinTalk, ensure your system meets the following requirements:
- Node.js v20
- npm v10.8.2 or higher
- PostgreSQL v17
- Clone the repository:
git clone https://github.com/yourusername/puffintalk.git
- Navigate to the project directory:
cd puffintalk/src - Install dependencies:
npm install
- Start the development server:
npm start
- Open your web browser and navigate to
http://localhost:3000. - Register a new account or log in with existing credentials.
- Start chatting with your friends in real-time!
We welcome contributions! Please read our Contributing Guidelines for more information.
This project is licensed under the MIT License. See the LICENSE file for details.
For any questions or suggestions, please contact us at support@puffintalk.com.