Hoppa till innehållet

Ett lager framför ditt API, nyckeln på servern.

Dina appar anropar det här lagrets /api-rutter. Rutterna skickar vidare till ditt riktiga API med nyckeln på servern, så att den aldrig når webbläsaren.

Öppna på GitHubMIT-licens · fri att använda

Använd den när

Du har redan ett API eller en extern tjänst och behöver ett säkert lager framför det — med en webbplats på köpet.

Bygger du API:t från början? template-backend i stället →

Det här ingår

Färdigt från start.

  • Proxy för allt

    En catch-all-rutt som skickar GET, POST, PUT, PATCH och DELETE vidare, med query och JSON.

  • Typad klient

    En klient på servern med Bearer-nyckel, tidsgräns på 30 sekunder och tydliga fel.

  • CORS och spårning

    Tillåtna ursprung från en lista, och ett x-request-id på varje svar.

  • Webhooks och hälsa

    En mottagare för webhooks och en hälsokontroll.

  • Säkerhetsrubriker

    HSTS, X-Frame-Options, Referrer-Policy och Permissions-Policy.

  • Designsystem

    Tailwind CSS 4 med mörkt läge och komponenter för en landningssida.

Kom igång

pnpm install
cp .env.example .env.local
pnpm dev          # http://localhost:3009

Struktur

app/api/proxy/[...path]/   forwards every method to API_BASE_URL
app/api/webhooks/          webhook receiver
app/api/health/            health check
lib/api-client.ts          typed server-side client
middleware.ts              CORS + x-request-id
components/                design system and landing page

Miljövariabler

  • API_BASE_URL
  • API_KEY
  • ALLOWED_ORIGINS
  • NEXT_PUBLIC_APP_URL

API_KEY är valfri och skickas som Bearer-token till ditt API.

Bra att veta

  • Signaturkontrollen för webhooks är TODO — lägg till den för din leverantör innan du går live.
  • Dockerfilen kopierar en public/-mapp som inte finns i repot än. Skapa den innan du bygger avbilden.

Byggd med

  • Next.js 15
  • React 19
  • TypeScript
  • Tailwind CSS 4
  • next-themes
  • Docker

Låt oss bygga
nästa sak.

Du pratar med mig, inte med en säljare. Första samtalet är gratis.

— Kenny

psst, det tar 15 min

Skriver du svarar jag samma vardag.