**Connecting Your Database for Enhanced Features:** This guide outlines the database options and setup steps for enabling features like Chat Link Sharing in your application. ### Choose Your Database: **1. Serverless Postgres (default):** - Available on Vercel, Neon, and other platforms. - Less feature-rich but a suitable option depending on your needs. - **Connection String:** Replace placeholders with your Postgres credentials. - `postgres://USER:PASS@SOMEHOST.postgres.vercel-storage.com/SOMEDB?pgbouncer=true&connect_timeout=15` **2. MongoDB Atlas (alternative):** - **Highly Recommended:** More than a database, it's a data platform. MongoDB Atlas is a robust cloud-based platform that offers scalability, security, and a suite of developer tools. No need for a separate vector database, you can query your vector embeddings right within your operational database! - **Additional Features:** MongoDB Atlas is packed with unique features designed to streamline the development process such as: Atlas App Services, Atlas search (with vector search), Atlas charts, Data Federation, and more. - **Connection String:** Replace placeholders with your Atlas credentials. - `mongodb://USER:PASS@CLUSTER-NAME.mongodb.net/DATABASE-NAME?retryWrites=true&w=majority` ### Environment Variables: #### Postgres: | Variable | | |--------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `POSTGRES_PRISMA_URL` | `postgres://USER:PASS@SOMEHOST.postgres.vercel-storage.com/SOMEDB?pgbouncer=true&connect_timeout=15` | | `POSTGRES_URL_NON_POOLING` (optional) | URL for the Postgres database without pooling (specific use cases) | #### MongoDB: | Variable | | |--------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `MDB_URI` | `mongodb://USER:PASS@CLUSTER-NAME.mongodb.net/DATABASE-NAME?retryWrites=true&w=majority` | ### MongoDB Atlas + Prisma When using MongoDB Atlas, you'll need to make the below changes to the file `prisma.schema` ``` ... datasource db { provider = "mongodb" url = env("MDB_URI") } // // Storage of Linked Data // model LinkStorage { id String @id @default(uuid()) @map("_id") // ...rest of file ``` ### Initial Setup Steps: 1. **Run `npx prisma db:push`:** Create or update the database schema (run once after connecting). ### Additional Resources: - Prisma documentation: [https://www.prisma.io/docs/](https://www.prisma.io/docs/) - MongoDB Atlas: [https://www.mongodb.com/atlas/database](https://www.mongodb.com/atlas/database) - Atlas App Services: [https://www.mongodb.com/docs/atlas/app-services/](https://www.mongodb.com/docs/atlas/app-services/) - Atlas vector search: [https://www.mongodb.com/products/platform/atlas-vector-search/](https://www.mongodb.com/products/platform/atlas-vector-search) - Atlas Data Federation: [https://www.mongodb.com/products/platform/atlas-data-federation](https://www.mongodb.com/products/platform/atlas-data-federation)