Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/connellr023/chatter-reborn
A massively concurrent chat application designed for real-time, one-on-one conversations.
https://github.com/connellr023/chatter-reborn
actor-model concurrent-programming functional-programming gleam mist realtime-chat socket-programming
Last synced: 17 days ago
JSON representation
A massively concurrent chat application designed for real-time, one-on-one conversations.
- Host: GitHub
- URL: https://github.com/connellr023/chatter-reborn
- Owner: connellr023
- License: mit
- Created: 2024-07-13T18:41:38.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-07-22T18:20:57.000Z (4 months ago)
- Last Synced: 2024-07-22T23:36:37.474Z (4 months ago)
- Topics: actor-model, concurrent-programming, functional-programming, gleam, mist, realtime-chat, socket-programming
- Language: Gleam
- Homepage: https://chatter-5dkr.onrender.com/
- Size: 597 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
#
> A massively concurrent chat application designed for real-time, one-on-one conversations.
![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge&logo=docker&logoColor=white)
![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge&logo=typescript&logoColor=white)
![React](https://img.shields.io/badge/react-%2320232a.svg?style=for-the-badge&logo=react&logoColor=%2361DAFB)
![Erlang](https://img.shields.io/badge/Erlang+Gleam-white.svg?style=for-the-badge&logo=erlang&logoColor=a90533)
![API CI Status](https://img.shields.io/github/actions/workflow/status/connellr023/chatter-reborn/api_ci.yml?style=for-the-badge&logo=erlang)
## Deployment
This demonstration project is deployed **On Render** here
## Overview
This project is a variation of a previous project, **Chatter**, re-implemented in **Gleam**. This version is essentially just the text chat aspect of **Omegle** (which no longer exists). It allows users to speed chat with random strangers in real-time.
## Why Re-Implement in Gleam?
I chose to re-implement this project in **Gleam** for several reasons:
- **Learning Functional Programming**: I wanted to start learning functional programming, and Gleam provides a great opportunity to do so.
- **Type Safety**: Type safety is crucial for me, and Gleam offers strong type guarantees, unlike the dynamically typed **Erlang** and **Elixir**.
- **Familiar Syntax**: As someone who enjoys the **Rust** programming language, I found Gleam’s syntax familiar, which eased my transition into functional programming.
- **Simplicity and Concurrency**: Gleam is simple to pick up and excels at creating concurrent applications.
# Screenshots
![Main Screen](public/main.png)
![Queue Screen](public/queue.png)
![Chat Screen](public/chat.png)
Developed and Tested by Connell Reffo in 2024