{"repo":"lhcee3/Textre","free":true,"listed":false,"github":"https://github.com/lhcee3/Textre","clone":"git clone https://github.com/lhcee3/Textre.git","description":"End to End Chat Website ( Doesnt need Auth )","language":"TypeScript","stars":15,"topics":["chat","chatroom","fullstack","nextjs","noauth","render","room","vercel"],"license":"AGPL-3.0","category":"chat-messaging","readme_excerpt":"Textre Chatroom A minimalist real-time chatroom app built with Next.js , Socket.IO , and Supabase . Users can join a chat by entering a room ID—no authentication required. --- Features - Real-time messaging with Socket.IO - Room-based chat (only users in same room can chat) - Persistent chat history stored in Supabase - Auto-deletes messages older than 5 days - Styled with Tailwind CSS + ShadCN components - Light/Dark mode with toggle --- Tech Stack Tech Purpose ------------- ---------------------------------- Next.js Frontend framework Socket.IO Real-time messaging Supabase Backend-as-a-Service (Postgres) Node.js Express backend server TailwindCSS Styling --- Getting Started 1. Clone the repo 2. Setup the backend - Navigate to chatroom-backend/ - Create a .env file: - Install backend dependencies: - Start the backend: 3. Setup the frontend - Navigate to textre-chat/ (your Next.js frontend) - Install frontend dependencies: - Start the frontend: Message Flow 1. User joins a room by ID 2. Sends a message → sent to backend via Socket.IO 3. Backend stores message in Supabase DB 4. All users in that room receive message in real-time 5. On reload, latest 25 messages are fetched via REST Auto-Cleanup Policy - Messages older than 5 days are deleted using: - Run manually in Supabase SQL Editor or schedule with a CRON job --- Folder Structure License GNU Affero General Public License v3.0","default_branch":null,"files":null,"tree":[],"storefront":"/r/lhcee3","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/lhcee3/Textre/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}