Skip to content

Latest commit

 

History

History
29 lines (22 loc) · 1.61 KB

README.md

File metadata and controls

29 lines (22 loc) · 1.61 KB

Nearby server

Nearby allows creating spontaneous, ephemeral conversation channels, based on user location. The nearby server component holds the server-side logic, and works in conjunction with nearby client.

Features

  • Conversation channels are geolocalized and open (no access control).
  • Thus, the application allows searching for conversation channels nearby.
  • Conversation channels are ephemeral, i.e. when the last user leaves a channel, the channel disappears.
  • When disconnecting from the server (e.g. client application stops running), users will automatically leave their open conversations.

The server component is written in ES6 and relies on Socket.io for the client - server communication. Channel search and distance calculation is currently based on geolib.

Installation

In order to install and run Nearby, please clone this repository and run:

$ sudo npm install -g pm2
$ npm install
$ npm run dev

This will spin-up a nearby server instance, allowing to manage it with the PM2 process manager.

This server will be listening on port 16969 of the host machine. Please refer to ecosystem.config.js if you want to configure it differently.

Once the server is running, you can proceed to intall and launch the nearby client.

Roadmap

  • Migrate datasource: in-memory => Redis database.
  • Delegate channel filtering to Georadius.
  • Deploy in the cloud.