No description
- TypeScript 94.7%
- CSS 3.1%
- JavaScript 2.1%
- HTML 0.1%
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. |
||
|---|---|---|
| .zed | ||
| apps/web | ||
| packages | ||
| .gitignore | ||
| .oxfmtrc.json | ||
| .oxlintrc.json | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| tsconfig.json | ||
| turbo.json | ||
| vercel.json | ||
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_URLVITE_CONVEX_SITE_URLSITE_URLBETTER_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
Link Management
- Visit
/adminto 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 modepnpm run build: Build all applicationspnpm run dev:web: Start only the web applicationpnpm run dev:setup: Setup and configure your Convex projectpnpm run check-types: Check TypeScript types across all appspnpm run check: Run Oxlint and Oxfmt