Visually stunning link shortener for your personal use. Powerful admin dashboard with tons of features and enhanced performance. Ease of use and scalable.
A Link Shortener + QR Code Generator for personal use or use within a small team. Fast, reliable and with a visually appealing UI. Scales and supports tons of extra features like scheduled live links, expiration dates and more easily integrable. Features an admin dashboard with everything you need.
- Language: Typescript (Migrated)
- Backend: Next.js 15 + MongoDB with Mongoose
- Frontend: Next.js 15 + UI Components via
shadcn/ui
+ Tailwind - Others: Apexcharts, QR Code Styling, NanoId, IP-API, React Icons, Axios
- 🔗 Shorten any link and generate a corresponding QR code (With tons of customization! See second image). You can also assign a custom alias if needed.
- 📋 Quickly copy the shortened URL or export the QR code as a
PNG
file. - 🌙 Toggle between themes for a personalized viewing experience (Custom theme too!).
- 🖥️ Admin dashboard that provides all the necessary operations to manage links, filter links, view detailed information for each, and export all data as a CSV.
- 🎨 Beautiful UI elements designed using Tailwind CSS and
ChadCN
, along with icons from Lucide. Mobile isn't left out! - 📈 Insightful graphs powered by ApexCharts, showing detailed analytics such as the number of times a shortened URL has been used, as well as recent accesses via timestamps, device, browser and country.
- 📅 Scheduling feature for setting link live after a certain day and Expiration Date which automatically deletes the link from the database using TTL.
- 🏗️ Scalable architecture to easily add new features as needed.
- 🔒 Restrictive access, because who would want someone to come and abuse the service
- 😓 Restoration capability incase you or your team member accidentally deleted an old URL
- IN home page simply put in link and fill extra fields if need be and you're good to go
- Then in admin dashboard you can perform various operations which you can see in the screenshots below
- For the authorization part just simply go to Mongo and manually insert a document with field
q
and value of the secret code in the same collection as the URLs.
git clone https://github.com/Eshan05/LeanURL
cd LeanURL
npm i
# Look at .env.example
npm run dev
- See LICENSE (GPLv3)
- Feel free to raise issues if you notice anything wrong
- Hero section
- Color Picker