Files
Compass/README.md
MartinBraquet 85d2b779bc Update readme
2025-08-04 09:41:25 +02:00

3.0 KiB

BayesBond

This repository provides the source code for BayesBond, a web application where rational thinkers can bond and form deep 1-1 relationships in a fully transparent and efficient way. It just got released—please share it with anyone who would benefit from it!

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

Features

  • Extremely detailed profiles for deep connections
  • Radically transparent: user base fully searchable
  • Free, ad-free, not for profit
  • Supported by donation
  • Open source
  • Democratically governed

The full description is available here.

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 the AUTH_SECRET [env var for NextAuth.js] (https://next-auth.js.org/configuration/options). You can generate such a random 32-character string with:

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="file:./dev.db"
AUTH_SECRET="gTwLSXFeNWFRpUTmxlRniOfegXYw445pd0k6JqXd7Ag="

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

npx prisma migrate dev --name init

Note that your local database will be made of synthetic data, not real users. This is fine for development and testing.

Start the development server:

npm run dev

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

See development.md for additional instructions, such as adding new profile features.