Skip to content
/ beam Public
forked from planetscale/beam

A simple message board for your organization or project

License

Notifications You must be signed in to change notification settings

jph973/beam

Repository files navigation

Beam is a simple tool that allows members to write posts to share across your organization. Think of it like a lightweight internal blog. Features include a simple Markdown-based editor with preview, comments and likes, search, a clean responsive layout with dark mode support, and an admin role for hiding posts.

Setup

0. Install dependencies

npm install

1. PlanetScale database

cp .env.example .env
  • Open .env and set the DATABASE_URL variable with the connection string from PlanetScale.
  • Create the database schema:
npx prisma db push

2. Authentication provider

By default Beam uses GitHub for authentication, but you can use Okta if you prefer. View the Okta setup instructions.

[TODO: GitHub auth instructions]

3. Cloudinary

Beam uses Cloudinary for storing uploaded images. You can sign up for a free account.

  • On your Cloudinary dashboard, look for these values under your account settings: Cloud Name, API Key, API Secret.
  • Update .env with the following variables:
    • CLOUDINARY_CLOUD_NAME: Cloud Name
    • CLOUDINARY_API_KEY: API Key
    • CLOUDINARY_API_SECRET: API Secret

Running the app locally

npm run dev

Open http://localhost:3000 in your browser.

Deploying to Vercel

One-click deploy:

Deploy with Vercel

After deploying, update the callback URLs for your preferred auth provider.

Built on open source

About

A simple message board for your organization or project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 82.4%
  • Shell 10.0%
  • JavaScript 4.4%
  • CSS 3.2%