Skip to content

Repository files navigation

Trueback

Feedback infrastructure for developers. Collect, organize, and act on user feedback — all in one place.

What is Trueback?

Trueback lets developers add a feedback widget to any app in minutes. Install the SDK, get an API key, and start collecting feedback from your users.

Developer signs up → Creates a project → Gets API key
       ↓
Installs SDK in their app
       ↓
Users submit feedback → Shows up in dashboard

Tech Stack

  • Framework — Next.js 15 (App Router)
  • Database — PostgreSQL + Prisma
  • Auth — NextAuth.js v5 (GitHub + Google)
  • Styling — Tailwind CSS + shadcn/ui
  • Data Fetching — SWR + Axios
  • Rate Limiting — Upstash Redis

Getting Started

1. Clone the repo

git clone https://github.com/kishanraj-singh/trueback
cd trueback

2. Install dependencies

npm install

3. Set up environment variables

cp .env.example .env

Fill in your .env:

# Database
DATABASE_URL=

# NextAuth
AUTH_SECRET=
AUTH_URL=http://localhost:3000

# GitHub OAuth
AUTH_GITHUB_ID=
AUTH_GITHUB_SECRET=

# Google OAuth
AUTH_GOOGLE_ID=
AUTH_GOOGLE_SECRET=

# Upstash Redis (rate limiting)
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=

# Trueback API Key
NEXT_PUBLIC_TRUEBACK_API_KEY=

4. Set up the database

npx prisma db push
npx prisma generate

5. Run the development server

npm run dev

Open http://localhost:3000

API Routes

Method Route Description Auth
GET /api/projects Get all projects Required
POST /api/projects Create project Required
PATCH /api/projects/[id] Rename project Required
DELETE /api/projects/[id] Delete project Required
GET /api/projects/[id]/feedbacks Get feedbacks Required
DELETE /api/projects/[id]/feedbacks Clear all feedbacks Required
PATCH /api/projects/[id]/read-all Mark all as read Required
DELETE /api/feedbacks/[id] Delete feedback Required
POST /api/sdk/feedback Submit feedback API Key
DELETE /api/user Delete account Required

SDK

The Trueback SDK is a separate package available on npm:

npm install trueback-sdk
import Trueback from "trueback-sdk"

const { open } = new Trueback({
  apiKey: "YOUR_API_KEY"
})

<button onClick={open}>Give Feedback</button>

SDK Repository →

License

MIT

Releases

Packages

Contributors

Languages