Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/disk0dancer/chat-app

Multi user online chat based on different services communication approaches
https://github.com/disk0dancer/chat-app

fastapi pubsub python3 react rest-api typescript websockets

Last synced: 22 days ago
JSON representation

Multi user online chat based on different services communication approaches

Awesome Lists containing this project

README

        

# Online multi-user chat application

## Description

This app is a full-stack chat application designed to provide real-time messaging capabilities.
The application leverages modern web technologies to ensure a seamless and efficient user experience.
The frontend is built using React and TypeScript, while the backend is powered by Python and FastAPI.
This combination allows for a highly responsive and scalable chat application.
The project also includes various utilities and build tools to streamline development and deployment processes.

#### (!) This repo contains different branches with different technologies used for the backend.

## Technologies

### Frontend

- **React**: A JavaScript library for building user interfaces.
- **TypeScript**: A typed superset of JavaScript that compiles to plain JavaScript.
- **Vite**: A fast build tool and development server for modern web projects.
- **NPM**: A package manager.

image

### Backend

- **Python**: A high-level programming language.
- **FastAPI**: A modern, fast and async (high-performance), web framework for building APIs with Python 3.6+.
- **UV**: Rapid package manager for Python.

## Quick Start

#### 1. Setup
```bash
# Clone the repository
git clone [email protected]:disk0Dancer/chat-app.git
cd chat-app
make install
```

#### 2. Start application
```bash
make up
```

### Running the Application

Open your browser and navigate to [http://localhost:5173](http://localhost:5173) to access the chat application.

### Help

Get more info for available commands by running script:
```bash
make help
```

## License

This project is licensed under the Apache 2.0 License.