Sign inSign up

yoas1/just-joe

By yoas1

•Updated about 1 year ago

Image
1

221

yoas1/just-joe repository overview

Just Joe Logo

⁠🟢 Just Joe — The One-Word Chat App

Just Joe is a playful, minimalist real-time chat application where users can send only one word to each other: "Joe" šŸ˜„.
Despite its simplicity, the app supports private chats, desktop alerts, mobile-friendly layout, and visual indicators for unread messages — all using Python and WebSockets.

⁠Live-Demo⁠

ā šŸš€ Features

  • šŸ’¬ Send "Joe" to everyone or to specific users privately
  • šŸ”’ Private conversations in separate chat windows
  • 🟢 Online users list in the sidebar
  • šŸ”” Unread message indicators next to users
  • šŸ“£ Desktop toast + sound only when someone sends you "Joe" in a chat you're not viewing
  • šŸ“± Responsive design for mobile and desktop
  • šŸ’» Modern UI with blue/gray theme

ā šŸ› ļø Tech Stack

  • Flask – Python web framework
  • Flask-SocketIO – Real-time communication
  • HTML + CSS + JavaScript – Frontend
  • Socket.IO (JS) – WebSocket client

ā šŸ–¼ļø Interface Overview

  • Sidebar showing all active users
  • One shared "Everyone" chat + separate windows for private chats
  • Green chat bubbles = messages you sent
  • Blue chat bubbles = messages you received
  • Desktop toast & sound only when a "Joe" is received in another tab

ā šŸ“¦ Installation & Run

  1. Clone the repository

    git clone https://github.com/yoas1/just-joe.git
    cd just-joe
    
  2. Install Python dependencies

    pip install flask flask-socketio
    
  3. Start the app

    flask run --debug -h 0.0.0.0
    
  4. Open your browser
    Navigate to: http://localhost:5000⁠

You can open in multiple tabs or devices to simulate multiple users.


⁠🐳 Run with Docker

You can easily run this app using Docker or Docker Compose.

ā ā–¶ļø Using Docker
docker run -p 5000:5000 yoas1/just-joe:v0.0.2
ā ā–¶ļø Using Docker Compose

Create a compose.yml file:

version: '3'
services:
  just-joe:
    container_name: just-joe
    image: yoas1/just-joe:v0.0.2
    ports:
      - "5000:5000"

Then run:

docker-compose up -d

The app will be available at http://localhost:5000⁠

ā šŸ“ Project Structure

just-joe/ 
ā”œā”€ā”€ app.py                  # Flask server logic
ā”œā”€ā”€ Dockerfile 
ā”œā”€ā”€ requirements.txt
ā”œā”€ā”€ run.sh
ā”œā”€ā”€ templates/
│   └── chat.html           # Main HTML page
ā”œā”€ā”€ static/
│   ā”œā”€ā”€ style.css           # Styling and layout
│   ā”œā”€ā”€ chat.js             # Client-side logic
│   ā”œā”€ā”€ socket.io.min.js
│   ā”œā”€ā”€ joe_sound.mp3       # Notification sound
│   ā”œā”€ā”€ biden_sound.mp3     # Notification sound 
│   └── joe_icon.png        # App icon

ā šŸŽÆ Philosophy

What happens when the only thing you're allowed to say is "Joe"?

Just Joe was built as a humorous experiment that evolved into a lightweight and expressive messaging platform. Surprisingly, it still manages to convey meaning, timing, and interaction — all with a single word.


ā šŸ“œ License

MIT License
Feel free to use, modify, and build upon it.

Tag summary

Content type

Image

Digest

sha256:1665cb4c4…

Size

362 MB

Last updated

about 1 year ago

docker pull yoas1/just-joe:v0.0.2