An open source solution for personal blogs, bookmarks, newsletters & notes.
The system will consist of 3 different apps hosted separately.
Main app/admin site (e.g: https://app.nymhq.com)
Administrative app to manage your admin account and registered sites.
Same app as the main app site, but the visible content will be different. This is for registered users and sites to show contents and manage contents.
NODE_ENV
(production|development)VERCEL_ENV
(production|preview|development) Set automaticallyNEXT_PUBLIC_VERCEL_ENV
(production|preview|development) Set automaticallyVERCEL_URL
(https://{nym-xyz}.vercel.app) Set automaticallyNEXT_PUBLIC_VERCEL_URL
(https://{nym-xyz}.vercel.app) Set automaticallyPUBLIC_URL
(https://nymhq.com)VERCEL_TEAM_ID
Vercel Team IDVERCEL_PROJECT_ID
Vercel Project IDVERCEL_API_TOKEN
(https://vercel.com/docs/rest-api#introduction/api-basics/authentication) Token to access Vercel's API
A good resource to understand Prisma and its Shadow DB
https://www.prisma.io/docs/concepts/components/prisma-migrate/shadow-database
https://blog.tericcabrel.com/understand-the-shadow-database-feature-prisma/
DATABASE_URL
(mysql://user:password@host:port/database)SHADOW_DATABASE_URL
(Only required for local env where we run migration commands)
NEXTAUTH_URL
(https://nymhq.com)NEXTAUTH_SECRET
JWT_SIGNING_KEY
GITHUB_ID
GITHUB_SECRET
TWITTER_API_KEY
Use Twitter API KeyTWITTER_API_SECRET
Use Twitter API Secret
CLOUDINARY_CLOUD_NAME
- Cloudinary Cloud nameCLOUDINARY_API_KEY
- Cloudinary API KEYCLOUDINARY_API_SECRET
- Cloudinary API SecretCLOUDINARY_PRESET
- Preset name created on Cloudinary, make sure you set the "Signed" property to true
IFRAMELY_API_KEY
- Iframely API key - to extract metadata from a url
OPENAI_API_KEY
PINECONE_ENVIRONMENT
PINECONE_API_KEY
- Login to https://app.planetscale.com/
- Create a DB.
- Copy the connection string for the DB, and set it to the .env file variables. (See PlanetScale Doc)
- Run migration
yarn prisma migrate dev
- Edit
prisma/schema.prisma
- Format the schema doc
yarn prisma format
- Migrate dev db
# Check the changes in the current schema (prisma/schema.prisma)
# and generate migration file, push to DB.
yarn prisma migrate dev
- On PlanetScale, Configure
main
branch as a production branch - Create a
dev
branch frommain
branch - Make sure you connect to the
dev
branch only, not to themain
branch directly. - When you want to deploy changes from
dev
tomain
, go to https://app.planetscale.com/sov-ventures/nymhq/deploy-requests and create deployment request fromdev
branch tomain
branch.