Skip to content

Real-time location and stop tracking of users in an indoor setting - tested and developed within a museum setting.

Notifications You must be signed in to change notification settings

sumdher/stop_tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StopTracker

Tracks stops within spatiotemporal trajectories in real-time.

stop_tracker.1.mp4

Prerequisites

Things to install:

  • Python 3.9+
  • Node.js and npm
  • Git

Clone the Repository

You might need to generate a personal access token (PAT) for your GitHub account. Follow these steps:

  1. Go to GitHub and sign in.

  2. Navigate to Settings > Developer settings > Personal access tokens.

  3. Click Tokens (classic) and set it up with the scopes/permissions you need.

  4. Copy the generated token (PAT) and store it securely.

    git clone https://<your_username>:<PAT>@github.com/sumdher/stop_tracker.git

Or, if you want to clone a specific branch:

git clone -b <branch_name> https://<your_username>:<PAT>@github.com/sumdher/stop_tracker.git

Setting it up

  • There are two Python servers:

    • The data server (simulates real-time data and) sends data to the main server.
    • The main server processes the data received from the data server and sends it to the client.
  • These servers can be run either on the same system or on different machines within the same local network.

  • Finally, there is a front-end React server.

Main server

  1. Navigate to the Server Directory

    cd main_server
  2. Set up Virtual Environment

    python3 -m venv venv
    .\venv\Scripts\activate  # For macOS/Linux: `source venv/bin/activate`
  3. Install Dependencies

    pip install -r requirements.txt

Similarly, Data server

cd data_server
python3 -m venv venv
.\venv\Scripts\activate  # For macOS/Linux: `source venv/bin/activate`
pip install -r requirements.txt

React Server

  1. Navigate to the Client Directory

    cd client
  2. Install Dependencies

    npm install

Run the StopTracker Webapp

Open 3 different terminals and run the following commands:

Terminal 1 (/main_server):

python3 main_server.py

Terminal 2 (/data_server):

python3 data_server.py

If the main server is on another machine, pass the IP address of the main server:

python3 data_server.py <local:ip:of:mainserver>

Terminal 3 (/client):

npm run dev
  1. In any browser, open the link:

    http://<local:ip:of:reactserver>:5173/

Start the webapp

  1. Press the button "Go Live!" to visualize trajectories and stops in real time.

  2. To change the layout of the tables/POIs, upload .geojson files by clicking "Update Map" button in the header.

  3. Download a structured file (.csv) of the detected stops using the Download button in the header.

Stop the webapp

  1. Terminate (by pressing CTRL^C) in this sequence: the data_server, main_server and then the React client in their respective terminals.



















Developped by: Sudheer and Fatima Hachem

About

Real-time location and stop tracking of users in an indoor setting - tested and developed within a museum setting.

Topics

Resources

Stars

Watchers

Forks