An open API service indexing awesome lists of open source software.

https://github.com/joschonarth/flask-websocket-chat

šŸ’¬ A real-time chat application built with Flask and WebSockets, allowing users to send and receive messages instantly.
https://github.com/joschonarth/flask-websocket-chat

flask flask-socketio python websocket

Last synced: about 2 months ago
JSON representation

šŸ’¬ A real-time chat application built with Flask and WebSockets, allowing users to send and receive messages instantly.

Awesome Lists containing this project

README

          

# šŸ’¬ Aplicação de Chat em Tempo Real

Este projeto implementa um sistema de chat em tempo real utilizando Flask e WebSockets. Ele permite que mĆŗltiplos usuĆ”rios se conectem ao mesmo canal de chat e troquem mensagens instantaneamente. šŸ“Ø

![Chat](assets/chat.png)

## šŸš€ Tecnologias Utilizadas

- šŸ **Python**: Linguagem principal para o desenvolvimento.
- 🌐 **Flask**: Framework web leve utilizado para criar a aplicação.
- šŸ”Œ **Flask-SocketIO**: Biblioteca para integração de WebSockets com Flask.
- ⚔ **Socket.IO**: Protocolo utilizado para comunicação em tempo real entre o servidor e os clientes.

## ✨ Funcionalidades

- šŸ’¬ Comunicação em tempo real entre usuĆ”rios.
- šŸ†” Identificação de usuĆ”rios com nomes personalizados.
- šŸ“¢ Mensagens do sistema notificando entrada e saĆ­da de usuĆ”rios.
- šŸ–„ļø Interface web para interação com o chat.

## šŸ”§ PrĆ©-requisitos

- Python 3.7+
- Gerenciador de pacotes `pip`

## āš™ļø Configuração do Ambiente

1. Clone este repositório:
```bash
git clone https://github.com/joschonarth/flask-websocket-chat
cd flask-websocket-chat
```

2. Crie um ambiente virtual (opcional):
```bash
python -m venv venv
```

2.1 Ative o ambiente virtual:
```bash
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
```

3. Instale as dependĆŖncias:
```bash
pip install -r requirements.txt
```

4. Crie um arquivo `.env` na raiz do projeto e configure a chave secreta:
```
SECRET_KEY=sua_chave_secreta
```

## ā–¶ļø Execução

1. Inicie o servidor:
```bash
python app.py
```

2. Acesse o aplicativo no navegador em:
```
http://localhost:5000
```

## šŸ“‚ Estrutura do Projeto

```
flask-websocket-chat
│
ā”œā”€ā”€ app.py # Arquivo principal da aplicação
ā”œā”€ā”€ templates
│ └── index.html # Interface do chat
ā”œā”€ā”€ static
│ └── styles.css # Arquivo de estilização
ā”œā”€ā”€ requirements.txt # DependĆŖncias do projeto
ā”œā”€ā”€ .env # Configuração de variĆ”veis de ambiente
└── README.md # Documentação do projeto
```

## šŸ”— Endpoints

- **`GET /`**: Carrega a pƔgina principal do chat.

## šŸ“” Eventos Socket.IO

- **`connect`**: Dispara quando um usuƔrio se conecta.
- **`disconnect`**: Dispara quando um usuƔrio se desconecta.
- **`set_username`**: Configura o nome de usuƔrio e notifica os participantes.
- **`message`**: Recebe e retransmite mensagens para os participantes.

## šŸ¤ Contribuição

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou enviar pull requests.

## šŸ“ LicenƧa

Este projeto estĆ” licenciado sob a MIT License. Veja o arquivo LICENSE para mais detalhes.