Giter VIP home page Giter VIP logo

beam's Introduction

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, image drag and drop, comments and likes, search, a clean responsive layout with dark mode support, and an admin role for hiding posts.

Setup

Install dependencies

npm install

Create a 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

Configure authentication

GitHub and Okta authentication settings are available as defaults, but thanks to NextAuth.js, you can configure your Beam instance with most other common authentication providers.

Beam uses NextAuth.js, so if you prefer to use one of the many providers it supports, you can customize your own installation. Simply update the lib/auth.ts file to add your own provider.

Enable image uploads (optional)

To enable image uploads, set the environment variable NEXT_PUBLIC_ENABLE_IMAGE_UPLOAD to true.

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

Configure Slack notifications (optional)

If you'd like to have new Beam posts published to a Slack channel, follow these instructions.

Running the app locally

npm run dev

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

Authenticating with GitHub

Deploying to Vercel

One-click deploy:

Deploy with Vercel

โš ๏ธ Remember to update your callback URLs after deploying.

beam's People

Contributors

jasonlong avatar bogdansoare avatar skottler avatar pixeljanitor avatar jonico avatar dependabot[bot] avatar dgraham avatar marissamarym avatar sukoonmusic avatar iamluisj avatar ayrton avatar garciasdos avatar with-heart avatar

Stargazers

Roman avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.