Drift

screenshot of Drift
nextjs
react
tailwind
prisma

Drift is a self-hostable Gist and paste service. Built with Next.js 13 and React Server Components.

Overview:

DriftNote is a self-hostable Gist clone that is currently being refactored to Next.js 13 app directory and React Server Components. It is in beta but fully functional, allowing users to host their own instances. Drift is built with Next.js 13, React Server Components, shadcn/ui, and Prisma.

Features:

  • Self-hostable Gist clone: Users can host their own instances of Drift on their servers.
  • Built with Next.js 13 and React Server Components: Utilizes modern technologies for efficient performance.
  • Functionality: Fully functional beta version with the ability to create, share, and manage Gists.
  • Environment Variables: Customizable environment variables for configuration.
  • Support for pm2 and Docker: Easy deployment options with pm2 and Docker.
  • Authentication Options: Supports GitHub OAuth and credential authentication.

Setup:

  1. In the root directory, run pnpm i to install dependencies.
  2. For file watching and live reloading during development, run pnpm dev in the client directory.
  3. To interact with the database using Prisma, use pnpm prisma or pnpm exec prisma.

Production:

  1. Run pnpm build to build production code.
  2. Start the Next.js server with pnpm start.
nextjs
Next.js

Next.js is a React-based web framework that enables server-side rendering, static site generation, and other powerful features for building modern web applications.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

tailwind
Tailwind

Tailwind CSS is a utility-first CSS framework that provides pre-defined classes for building responsive and customizable user interfaces.

prisma
Prisma

Prisma is a server-side library that helps developers read and write data to the database in an intuitive, efficient and safe way.

fullstack
Fullstack

A fullstack boilerplate provides a starter application that includes both frontend and backend. It should include database, auth, payments, user roles and other backend services to build a fully featured saas or webapps.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

postcss
Postcss

PostCSS is a popular open-source tool that enables web developers to transform CSS styles with JavaScript plugins. It allows for efficient processing of CSS styles, from applying vendor prefixes to improving browser compatibility, ultimately resulting in cleaner, faster, and more maintainable code.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.