Skip to content

Naskat-404/Beacon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Locale Roulette

Discover the unexpected connections around you.

Locale Roulette is an experimental, location-based social web application that combines the spontaneity of stranger chat with geographical proximity. Meet new people in your area by entering designated "Meetup Points"β€”virtual lobbies tied to real-world locations in your city.

Features

  • Anonymous Matchmaking: Jump into a pool and instantly get connected with a stranger currently looking for a chat in your city.
  • Location-Based Meetup Points: Users can dynamically create or join city-specific "Meetup Points" (e.g., "Downtown Coffee Shop", "Central Park").
  • Real-Time Text Chat: Fast, WebSocket-driven communication that connects you instantly.
  • Group Lobbies: Meetup points feature localized group chat rooms so you can coordinate with multiple people simultaneously.
  • Ephemeral Sessions: Embrace anonymity; sessions are tied to the connection, prioritizing fleeting, serendipitous connections.

Tech Stack

  • Frontend: React + Vite, styled with modern CSS features for a sleek, responsive interface.
  • Backend: Node.js + Express
  • Real-Time Communication: Socket.io for instantaneous bidirectional event-based communication.
  • State Management: In-memory matchmaking and lobby tracking.

Getting Started

Prerequisites

  • Node.js (v18+ recommended)
  • npm or yarn

Installation

  1. Clone the repository

    git clone https://github.com/your-username/locale-roulette.git
    cd locale-roulette
  2. Install dependencies and start the backend server

    cd backend
    npm install
    npm run dev
  3. Open a new terminal, install dependencies, and start the frontend

    cd frontend
    npm install
    npm run dev
  4. The application should now be running. The Vite frontend will usually be accessible at http://localhost:5173.

Architecture Overview

The app is divided into two main workspaces:

  • /frontend: The React UI handling location tracking, lobby interactions, and chat views.
  • /backend: The Socket.io server brokering peer connections, managing active Meetup Points, and handling the core routing logic for 1-on-1 roulette matching and group interactions.

License

MIT

About

🎯 An experimental, real-time web app bridging spontaneous stranger chat with geographical proximity. Discover and connect with people near you through dynamic, localized Meetup Points. πŸŒπŸ“

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors