marioperezhurtado / Boble

Online web chat

Home Page:https://chat.marioph.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BOBLE

Online Free Web Chat. Live at chat.marioph.com

If you want to start your first conversation and have no other users to chat with, follow my invite code.

πŸ“Έ Screenshots

Key features:

  • Private chats πŸ‘₯
  • Groups with unlimited participants πŸ“’
  • Share text messages, images, GIFs, and audio recordings in real-time πŸ“‘
  • All your data is stored in the cloud and protected through your account πŸ”’
  • Create and delete chats and messages, and manage your groups ✏️
  • Access from all your devices, since you only need a browser πŸ’«
  • Only requires a verified email address, no phone number, payment or other personal information πŸ˜‡
  • Translated into different languages (currently English, Spanish and French) 🌎

This project was made to learn about some tools.

This is not a professional or for-profit project.

If you want to make a similar project with some of this tools, this could be a reference example (that's why I share it), but don't expect everything to be as correct as it could be.

If you have any suggestions or encounter any problems, feel free to report them.

Table of contents

πŸ§‘β€πŸ’» Tech Stack

React - JavaScript library for building user interfaces

Typescript - Strongly typed JavaScript

TailwindCSS - Utility-first CSS framework

Supabase - Open source backend as a service

πŸ”§ Tools / Dependencies

Bundler: Vite

Routing: Wouter

Server state management: TanStack Query

Testing: Vitest

Linting: ESLint

Integration with Supabase: Supabase-js

Translation: React-i18next

QR Code: React-qr-code

Resize Observer: Use-resize-observer

πŸ“‘ External API's

GIF Integration: GIPHY

πŸš€ Installation

git clone https://github.com/marioperezhurtado/Boble.git
cd Boble
npm install

⚑ Supabase Setup

https://supabase.com/docs

You can find the SQL queries and policies of this project here, or you might create your own.

Resulting database schema: (Generated w/ supabase-schema )

Database Schema

User Management Starter

πŸ’¬ Environment Variables

To run this project, you will need to add the following environment variables to your .env file

VITE_APP_URL='https://your-url.com'

VITE_APP_GIPHY_API_KEY='your-giphy-api-key'

VITE_APP_SUPABASE_URL='your-supabase-url'

VITE_APP_SUPABASE_ANON_KEY='your-anon-key'

Supabase env variables can be found at https://app.supabase.com/project/^your-proyect^/settings/api

πŸ’» Run locally

  npm run dev

πŸ”¬ Test application

  npm run test

About

Online web chat

https://chat.marioph.com


Languages

Language:TypeScript 98.3%Language:CSS 0.7%Language:HTML 0.6%Language:JavaScript 0.4%