Skip to content

A peer-to-peer marketplace mobile app that works offline using Bluetooth Low Energy (BLE). Connect with neighbors to trade goods, services, and find local activities.

Notifications You must be signed in to change notification settings

Zorachki/doorstep30

Repository files navigation

Doorstep30

Логотип

A peer-to-peer marketplace mobile app that works offline using Bluetooth Low Energy (BLE). Connect with neighbors to trade goods, services, and find local activities.

Features

Marketplace

  • Sell items with photos
  • Buy from neighbors
  • Offer or find services
  • Give away free items

Find Company

  • Social activities: drinks, parties, sports
  • Board games and video games
  • Walks and coffee meetups

Proximity Indicator

Signal strength bars show distance:

  • 5 bars: ≤30m (very close)
  • 4 bars: 30-50m (close)
  • 3 bars: 50-100m (nearby)
  • 2 bars: 100-200m
  • 1 bar: 200-500m
  • 0 bars: >500m

Messaging

  • Direct chat with sellers and buyers
  • Discuss details and plan meetups

Technical Features

Offline Operation

  • Fully offline using Bluetooth Low Energy
  • Automatic sync between nearby devices

Privacy

  • Local data transfer via BLE
  • No servers or external connections
  • Data stays within the local device network

Location

  • Automatic distance calculation
  • Real-time proximity indicators
  • Precision within 30 meters

Requirements

  • iOS 13.0+ or Android 5.0+
  • Bluetooth Low Energy support
  • Permissions: Bluetooth, location, camera

Installation

Prerequisites

  1. Install Node.js 16+
  2. Install Expo CLI:
    npm install -g @expo/cli

Setup

git clone <repository-url>
cd doorstep30
npm install

Run

npm start

Scan the QR code with Expo Go on your phone.

Platform-Specific

npm run android  # Android
npm run ios      # iOS (macOS only)
npm run web      # Web browser

Usage

First Launch

  1. Open the app
  2. Complete registration (name, phone, description)
  3. App automatically starts searching for neighbors via Bluetooth

Create Listing

  1. Go to "Create Listing" tab
  2. Choose type (sell, buy, service, free)
  3. Add photo and description
  4. Set price if needed
  5. Tap "Create Listing"

Find Activity

  1. Go to "Find Company" tab
  2. Tap "+" to create listing
  3. Select activity type
  4. Set time and description
  5. Tap "Find Company"

Chat with Neighbors

  1. Tap a listing for details
  2. Use "Chat" to contact the author
  3. Discuss details or plan a meetup

Development

Project Structure

doorstep30/
├── src/
│   ├── components/     # Reusable components
│   ├── screens/        # App screens
│   ├── services/       # BLE services
│   ├── context/        # React Context
│   └── utils/          # Utilities
├── assets/             # Images and icons
├── App.js              # Main component
└── package.json        # Dependencies

Key Components

  • BLEService - Bluetooth Low Energy management
  • UserContext - User data management
  • SignalStrengthIndicator - Proximity indicator
  • AdCard - Listing card

Adding Features

  1. Create new screen in src/screens/
  2. Add navigation in App.js
  3. Update BLE service for new message types

Limitations

  • BLE range limited to ~100m in ideal conditions
  • Performance depends on nearby device count
  • Requires Bluetooth enabled on all devices
  • Location services must be enabled

License

MIT License - see LICENSE file


Doorstep30 - Connecting neighbors offline 🏠📱

About

A peer-to-peer marketplace mobile app that works offline using Bluetooth Low Energy (BLE). Connect with neighbors to trade goods, services, and find local activities.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published