Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ds1sqe/copy-chat
https://github.com/ds1sqe/copy-chat
Last synced: 15 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/ds1sqe/copy-chat
- Owner: ds1sqe
- Created: 2023-03-14T13:00:46.000Z (almost 2 years ago)
- Default Branch: develop
- Last Pushed: 2024-05-10T09:54:26.000Z (8 months ago)
- Last Synced: 2024-11-07T16:16:14.602Z (2 months ago)
- Language: TypeScript
- Size: 1.33 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Copy-Chat - video and text chatting webapp
built with Django(drf and socket-io) React(Redux with toolkit, socket-io, axios)
## Concept
- I designed this project as easy to maintain or improve as possible.
avoided code-duplication, tried to create reusable code, with
easy-to-understand & human-readable data structure- Eventually, almost every data has become nest-structured and centralized (on front),
and backend has become "event-driven"- I used Websocket for real-time communication between clients or client to server with serializable data (like metadata),
and used non-serializable data for Webrtc (peer to peer data streaming).- In frontend, there might be hard-to-understand code like function that create listener function, and
arrow function chaining triple time, (on webrtc)
but i couldn't find better way to split heavy code to outside and keep React-component short## Dependency
- Backend built with Django with socketio, asgi setup
- Frontend built with React with Redux and socketio
Used techs
1. Websocket
2. Rest api
3. Webrtc
4. Token validation
5. Docker (to deploy)