Skip to content

Commit

Permalink
Merge pull request #20
Browse files Browse the repository at this point in the history
Readme update
  • Loading branch information
TheRustyPickle authored Sep 15, 2023
2 parents 4483175 + e96010b commit 30865bd
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 16 deletions.
27 changes: 16 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,28 +8,33 @@ Chirp is my playground for exploring the world of GTK4-rs while working on a cha

🎨 **User Interface (UI):** Chirp features an interface crafted using GTK4-rs. I'm refining it into a chat app that offers a practical and smooth experience, where messages are composed and displayed effortlessly.

<div align=center><a href=""><img src="https://github.com/TheRustyPickle/Chirp/assets/35862475/e62798e9-e79e-4b69-b2f2-142210451ff5" alt="wakatime"></a></div>
🌐 **WebSocket Support:** Chirp now contains a simple WebSocket server created with actix-web the GUI can communicate with, allowing usage of multiple clients with auto-reconnecting.

<details>
<summary>App Screenshots</summary>
<img src="https://github.com/TheRustyPickle/Chirp/assets/35862475/a869093b-ea83-4fb0-9111-31e13f4ac64b">
<img src="https://github.com/TheRustyPickle/Chirp/assets/35862475/928f96e4-72f1-49ac-a550-b82e843095a9">
</details>

## What's on the Horizon?

I've got some ideas that are brewing:
🔧 **Refining UI:** Further refining the user interface for a more user-friendly experience.

📨 **Bring It Online:** My plan is to take Chirp beyond its current state and enable online communication. Currently a work-in-progress.
🛡️ **Security:** Enhancing overall security, especially WebSocket communication and authentication.

🔒 **Add Security:** In my pipeline is the implementation of encryption measures. This will guarantee that all conversations stay confidential and secure.
🔒 **Message Encryption:** Implementation of encryption measures to further enhance the privacy and security of messages.

## Current Status
## Project Components

- `gui/`: In this section, I'm actively engaged with GTK4-rs, refining the UI to achieve a polished appearance.
- `server/`: While a work in progress, this section is to facilitate the exchange of messages between users.
- `gui/`: Contains the UI interface built with GTK4-rs along with all the logic and components to make it run.
- `server/`: Hosts a simple WebSocket server created with actix-web, facilitating communication with the GUI.

## Exploring the Project

Curious to take a peek at my progress? Follow these steps:

1. Clone this project onto your local machine.
1. Clone this project onto your local machine `git clone https://github.com/TheRustyPickle/Chirp.git`.
2. Ensure that you have the required dependencies, including GTK4 libraries.
3. Launch the application using the command `cargo run --bin chirp-gui`
3. Start the WebSocket server using the command `cargo run --bin chirp-server`
4. Launch the GUI using the command `cargo run --bin chirp-gui`

## Get Involved

Expand Down
5 changes: 2 additions & 3 deletions gui/src/window.rs
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ mod imp {
obj.setup_callbacks();
obj.setup_users();
obj.setup_actions();
obj.setup_binding();
}
}

Expand Down Expand Up @@ -114,7 +113,7 @@ impl Window {
.unwrap();
info!("Selected a new User from list");
window.set_chatting_with(selected_chat);
window.setup_binding();
window.bind();
}));

self.imp()
Expand All @@ -141,7 +140,7 @@ impl Window {
self.add_action(&button_action);
}

fn setup_binding(&self) {
fn bind(&self) {
let chatting_with = self.get_chatting_with();
chatting_with
.bind_property("name", self, "title")
Expand Down
3 changes: 1 addition & 2 deletions server/src/session.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ use actix_web_actors::ws;
use tracing::info;

use crate::server::{
ChatServer, ClientMessage, CommunicateUser, CommunicationType, Connect,
Disconnect, Message,
ChatServer, ClientMessage, CommunicateUser, CommunicationType, Connect, Disconnect, Message,
};

const HEARTBEAT_INTERVAL: Duration = Duration::from_secs(5);
Expand Down

0 comments on commit 30865bd

Please sign in to comment.