Skip to content

Repository files navigation

Pin

Pin is a social map app for discovering nearby social pins, seeing event memories, reacting to mutuals, and building mutual vibe streaks.

Current Build Stage

This repository now contains:

  • The original HTML/CSS prototype: frontend/index.html, frontend/styles.css
  • Frontend app code under frontend/
  • A new Expo/React Native mobile app foundation
  • Static MVP screens for Pins, Memories, Settings, create-pin flow, mutual DMs, notifications, and vibe streaks
  • Backend API code under backend/
  • A local Node.js API scaffold under backend/server/ with seed data and Android-ready endpoints
  • PostgreSQL schema draft: backend/server/schema.sql

No-Paid-Service Constraint

The app is planned to avoid paid third-party subscriptions and paid APIs, except:

  • Apple Developer Program fee
  • Google Play Console fee

Recommended production architecture:

  • Mobile app: React Native + Expo
  • Backend: Node.js/Express or NestJS
  • Database: PostgreSQL
  • Media storage: self-hosted MinIO
  • Maps: OpenStreetMap-based tiles/routing, self-hosted where needed
  • Push notifications: APNs and Firebase Cloud Messaging
  • Moderation: in-house report queue and admin dashboard

Android-First Local Run

Install dependencies:

npm install

Start the local API:

npm run api

In another terminal, start the Android app:

npm run android

For an Android emulator, the app uses:

http://10.0.2.2:3101

For web/local preview, set:

$env:EXPO_PUBLIC_API_URL='http://127.0.0.1:3101'

Android Build Commands

Prebuild Android native project:

npm run android:prebuild

Install/run on device or emulator:

npm run android:device

Create a debug APK after Android Studio/SDK is configured:

npm run android:apk:debug

Create a release AAB after signing is configured:

npm run android:aab:release

Store-Critical Features To Build Before Submission

  • Account deletion
  • Report pin, report memory, report user
  • Block user
  • Published community rules
  • Privacy policy and support URL
  • Reviewer demo account
  • Location/camera permission explanations
  • UGC moderation queue

Local API Contract

Current implemented local endpoints:

  • GET /health
  • GET /api/bootstrap
  • POST /api/auth/signup
  • POST /api/auth/login
  • POST /api/auth/logout
  • POST /api/pins
  • POST /api/pins/:id/pull-up
  • POST /api/memories
  • POST /api/memories/:id/reactions
  • POST /api/users/:id/follow
  • POST /api/reports
  • POST /api/blocks
  • POST /api/dms
  • GET /api/admin/reports
  • DELETE /api/account

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages