1
0
Fork 0
No description
  • TypeScript 94.7%
  • CSS 3.1%
  • JavaScript 2.1%
  • HTML 0.1%
Find a file
Ellie Gummere 6bd7e03245 Avoid Not Found flash and update deps
ShortLinkRoute: add a transient loader (useState) to avoid a brief
Not Found flash when navigating while queries revalidate.
Bump oxfmt, convex, @types/node and update lockfile/dev deps.
Add Vercel rewrites for /api, /admin, /user, /dashboard, /_next and
/:folder/:slug, and add sharp to onlyBuiltDependencies.
2026-02-18 22:40:22 -05:00
.zed Add shortener MVP 2026-02-18 16:47:02 -05:00
apps/web Avoid Not Found flash and update deps 2026-02-18 22:40:22 -05:00
packages Avoid Not Found flash and update deps 2026-02-18 22:40:22 -05:00
.gitignore Add shortener MVP 2026-02-18 16:47:02 -05:00
.oxfmtrc.json Add shortener MVP 2026-02-18 16:47:02 -05:00
.oxlintrc.json Add shortener MVP 2026-02-18 16:47:02 -05:00
package.json Avoid Not Found flash and update deps 2026-02-18 22:40:22 -05:00
pnpm-lock.yaml Avoid Not Found flash and update deps 2026-02-18 22:40:22 -05:00
pnpm-workspace.yaml Avoid Not Found flash and update deps 2026-02-18 22:40:22 -05:00
README.md Add shortener MVP 2026-02-18 16:47:02 -05:00
tsconfig.json Add shortener MVP 2026-02-18 16:47:02 -05:00
turbo.json Add shortener MVP 2026-02-18 16:47:02 -05:00
vercel.json Avoid Not Found flash and update deps 2026-02-18 22:40:22 -05:00

velx.us

Folder-based short links with a TanStack Router frontend, Convex backend, and Better Auth.

Features

  • TypeScript - For type safety and improved developer experience
  • TanStack Router - File-based routing with full type safety
  • TailwindCSS - Utility-first CSS for rapid UI development
  • shadcn/ui - Reusable UI components
  • Convex - Reactive backend-as-a-service platform
  • Authentication - Better Auth
  • Oxlint - Oxlint + Oxfmt (linting & formatting)
  • Turborepo - Optimized monorepo build system

Getting Started

First, install the dependencies:

pnpm install

Convex Setup

This project uses Convex as a backend. You'll need to set up Convex before running the app:

pnpm run dev:setup

Follow the prompts to create a new Convex project and connect it to your application.

Copy environment variables from packages/backend/.env.local to apps/web/.env. Then ensure these values are set:

  • VITE_CONVEX_URL
  • VITE_CONVEX_SITE_URL
  • SITE_URL
  • BETTER_AUTH_SECRET

Then, run the development server:

pnpm run dev

Open http://localhost:3001 in your browser to see the web application. Your app will connect to the Convex cloud backend automatically.

Git Hooks and Formatting

  • Format and lint fix: pnpm run check

Project Structure

velx-us/
├── apps/
│   ├── web/         # Frontend application (React + TanStack Router)
├── packages/
│   ├── backend/     # Convex backend functions and schema
  • Visit /admin to manage links (requires Better Auth login).
  • Add or update links by folder path and slug.

Available Scripts

  • pnpm run dev: Start all applications in development mode
  • pnpm run build: Build all applications
  • pnpm run dev:web: Start only the web application
  • pnpm run dev:setup: Setup and configure your Convex project
  • pnpm run check-types: Check TypeScript types across all apps
  • pnpm run check: Run Oxlint and Oxfmt