Nickly is a URL Shortener web application built with Node.js, Express.js, MongoDB, and EJS.
It allows users to shorten long URLs, track analytics, and manage their links with a clean and responsive dashboard.
🚀 Live Demo: https://nickly.onrender.com
(
- 🔗 Shorten Long URLs – Generate unique short links using NanoID.
- 🎯 Custom Short URLs – Users can choose their own short ID if available.
- 📊 Analytics Dashboard – Track total clicks and view click trends with Chart.js.
- ⏳ Visit History – Every click is logged with timestamp data.
- 🗂️ Pagination Support – Displays 10 URLs per page for better management also search feature. (under construction)
- 🎨 Responsive UI – Built with Bootstrap 5 and custom styles.
- 🌍 Deployed on Render – Connected with MongoDB Atlas for cloud storage.
- Backend: Node.js, Express.js
- Frontend: EJS, Bootstrap, Font Awesome
- Database: MongoDB Atlas (Mongoose ODM)
- Utilities: NanoID, Chart.js
- Deployment: Render
Nickly/
│── controllers/ # Route handlers (shorten, analytics, etc.)
│── models/ # MongoDB models
│── routes/ # App routes
│── views/ # EJS templates
│── public/ # Static assets (CSS, JS)
│── .env # Environment variables
│── index.js # Entry point
│── connect.js # MongoDB connection
Follow these steps to run the project locally:
git clone https://github.com/theadarsh1m/Nickly.git
cd Nicklynpm installCreate a .env file in the project root with the following:
PORT=8001
MONGODB_URI=your_mongodb_atlas_connection_string
BASE_URL=http://localhost:8001
⚠️ Replaceyour_mongodb_atlas_connection_stringwith your MongoDB Atlas URI.
npm startNow visit 👉 http://localhost:8001
Adarsh Sachan
📌 GitHub | LinkedIn
Want to improve Nickly?
- Fork the repo
- Create a new branch (
feature-xyz) - Commit changes
- Open a Pull Request 🚀
This project is licensed under the MIT License.

