Skip to content
This repository has been archived by the owner on Feb 19, 2023. It is now read-only.

BrycensRanch/Chatting-Platform

Repository files navigation

๐Ÿ‘ทโ€โ™‚๏ธ๐Ÿ—๏ธ Chatting Platform (WIP) ๐Ÿšง๐Ÿ‘ท

  • "Make it work, make it right, make it fast" - Kent Beck
  • "The function of good software is to make the complex appear to be simple." - Grady Booch

Being built with love with modernity in mind.

Commitizen Friendly Badge Semantic Release Badge Badge GitHub Workflow Status Badge GitHub Workflow Status Badge Docker Workflow Status Badge Codecov Badge Coveralls Badge Licence Badge CodeFactor Grade Badge GitPod Ready to Code Badge Open in GitHub Codespaces Badge Open in Stackblitz Badge

โš ๏ธ Project archived, while I have enjoyed WebRTC, it's proven too unstable for me to actively work on as a platform. โš ๏ธ For now, I'll be using my time more wisely to start focusing on UI design as a full stack developer. God speed.

Project Goals

  • Chat Notifications
  • Chat sound effect
  • Adopt Omegle styling
  • Voice calling (โœ…)
  • Messages with Tenor GIFs built in, along with images stored on the server.
  • Video calls with screen sharing using WASM
  • Fastify API that generates types and schemas and OpenAPI Specification files for the VSCode extension I'm using
  • WASM message encryption end to end
  • Record content while in a call, like Google Meets, but clientside!
  • Switch to pnpm since a certain someone likes to run npm install a lot more than they should (โœ…)

Planned Technology Stack

  • WebRTC TypeScript
  • FFMPEG WASM (Resource intensive, maybe allow a server recording option?, likely requires modern hardware & browser, such as Microsoft Edge :troll:)
  • TypeScript (project-wide)
  • Next.js (Frontend)
  • Fastify (Backend)
  • Jest (Frontend)
  • Tap (Backend)
  • Redoc (Public Enduser API documentation)
  • React Native Web/Tauri/Solito (Desktop/mobile?)
  • tRPC (project-wide types)
  • Simple Analytics
  • Sentry.io

Features

N/A, just starting off the project... Initial commit type flow.

Docker

This project ships a Docker Compose setup for testing purposes, if I were you, I would never use it in production. Instead, normally install Fail2Ban, CrowdSec, Postgres, Nginx, SuperTokens, NodeJS, pnpm, and Redis on a Linux machine like a regular person and configure it yourself. We have a config for Nginx for ease of deployment.

Demo

no

READMEs (more info on the separate projects)

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to add tests as appropriate. In-depth ones, not one that checks if 1 + 1 === 2.

Please read the Contributing Guidelines before submitting any pull requests or opening issues.

License

MIT FOSSA Status