TopLocs stands for topic- and location-based interests. TribeLike is a decentralized P2P community platform where you can meet likeminded people.
TribeLike uses a peer-to-peer architecture powered by Gun.js:
- No central server - Just a minimal relay for P2P communication
- Offline-first - Works without internet connection
- User-owned data - Your data stays with you
- Real-time sync - Changes propagate instantly between peers
For a detailed explanation of the P2P architecture, see the centralized documentation.
- Frontend: Vue.js 3 with TypeScript
- P2P Database: Gun.js
- Authentication: WebAuthn/Passkeys + Gun SEA
- Server: gunDB relay, filtering unsigned data
- Plugins: Extensible plugin system
- Multiple Profiles - Work, Family, Friends contexts
- Topics & Locations - Find people by interests and places
- Universal Relations - Connect topics, locations or any entity
- Plugins:
- Locations - Maps
- 💬 Chat - Real-time messaging
- 📅 Events - Event management
- 📝 Wiki - Collaborative documentation
Requirements:
- Node.js >= 20
- pnpm >= 3
# Install dependencies
pnpm install
# Build everything (client + server)
pnpm build
# Start the P2P relay server
cd server
pnpm devOpen http://localhost:3000 in your browser.
# Run client and server in dev mode
pnpm dev
# Run tests
pnpm test
# Lint code
pnpm lint- The server (
/server) is a Gun.js relay - Application logic runs in the browser
- Data is stored in Gun's distributed graph database
- Peers sync directly with each other
- The server helps peers to discover each other
📚 All comprehensive documentation is centralized in the workspace:
- Getting Started - AI-powered ecosystem setup
- Architecture - P2P architecture overview
- Plugin Development - How to create plugins
- Debug Guide - Debug tools and commands
- Development Guide - Tribelike technical details, data architecture, and development patterns
- Debug Tools - Gun.js debug logging and monitoring tools
If you're a new developer, start with the Getting Started Guide which includes:
- AI-powered complete ecosystem setup
- How to get shared Claude Code context
- Development environment configuration
- Contribution guidelines
Contributions are welcome! Please check out our issues for areas where you can help.
MIT License. Feedback and contributions are welcome.