Yo is a deployable URL shortener built as a single Next.js application with MongoDB for persistence and Auth0 for dashboard authentication.
The application supports:
- authenticated link management at
/ - public short-link redirects at
/{slug} - API-based redirects at
/api/redirect/{slug} - dashboard views for all links, latest links, popular links, and usage stats
- Next.js 15 Pages Router
- React 19
- MongoDB with Mongoose
- Auth0 via
@auth0/nextjs-auth0
- Node.js 24
- npm 10+
- MongoDB
- An Auth0 application for dashboard login
git clone https://github.com/jonfairbanks/yo.git
cd yo/src
npm installCreate src/.env.local, then start the development server:
npm run devThe app will be available at http://localhost:3000.
Run these commands from src/:
| Command | Purpose |
|---|---|
npm run dev |
Start the development server |
npm run build |
Build the production app |
npm run start |
Start the production server |
npm run lint |
Run ESLint |
npm test -- --runInBand |
Run the Jest suite in-band |
Recommended pre-deploy checks:
npm run lint
npm test -- --runInBand
npm run build
