Files
Compass/README.md
MartinBraquet ae5b613779 Update readme
2025-07-29 11:36:42 +02:00

2.9 KiB

BayesBond

This repository provides the source code for BayesBond, a web application where thinkers can bond and form deep 1-1 relationships in a fully transparent and efficient way. It's in active development and will hopefully be live soon.

The full article is available at https://martinbraquet.com/meeting-rational.

To contribute, please submit a pull request or issue, or fill out this form for suggestions and collaborations.

Features

  • free, ad-free, not for profit
  • supported by donation
  • open source
  • democratically governed
  • extremely detailed profiles for deep connections
  • radically transparent: user base fully searchable

To Do

  • Authentication (user/password and Google Sign In)
  • Set up PostgreSQL in Production with supabase or prisma console (can stick with SQLite in dev / local)
  • Set up hosting (vercel)
  • Ask for detailed info per profile upon registration (intellectual interests, location, cause areas, personality type, conflict style, desired type of connection, prompt answers, gender, etc.)
  • Set up page listing all the profiles
  • Search through all the profile variables
  • (Set up chat / direct messaging)
  • Set up domain name (https://bayesbond.com)

Secondary To Do

Any action item is open to anyone for collaboration, but the following ones are particularly easy to do for first-time contributors.

  • Clean up terms and conditions
  • Clean up privacy notice
  • Clean up learn more page
  • Add dark theme
  • Cover with tests

Implementation

The web app is coded in Typescript using React as front-end and prisma as back-end. It includes:

Development

After cloning the repo and navigating into it, install dependencies:

npm install

You now need to configure your database connection via an environment variable.

First, create an .env file:

cp .env.example .env

To ensure your authentication works properly, you'll also need to set env vars for NextAuth.js:

AUTH_SECRET="RANDOM_32_CHARACTER_STRING"

You can generate a random 32 character string for the AUTH_SECRET secret with this command:

npx auth secret

In the end, your entire .env file should look similar to this (but using your own values for the env vars):

DATABASE_URL="prisma+postgres://accelerate.prisma-data.net/?api_key=..."
AUTH_SECRET="gTwLSXFeNWFRpUTmxlRniOfegXYw445pd0k6JqXd7Ag="

Run the following commands to set up your database and Prisma schema:

npx prisma migrate dev --name init

Start the development server:

npm run dev

Once the server is running, visit http://localhost:3000 to start using the app.