Shrtly is a modern, full-stack web application that allows users to shorten long URLs, track their usage through detailed analytics, and manage all their links in one place. Think of it like a custom Bitly β but smarter and built by you!
- π User Authentication with Google Sign-In & manual registration
- π§Ύ Short URL generation for long links
- π Analytics dashboard with charts for:
- Clicks over time
- Browser breakdown
- Device breakdown
- π Search & filter links
- π Pagination for managing large sets of URLs
- π Export analytics as PDF (including charts + data)
- π§Ύ Detailed Link Info including expiration, creation date, total clicks
- β Delete links with confirmation & feedback via toast
- π Dark/Light Mode
- π Deployed on Render & Vercel
Frontend:
- React.js
- Tailwind CSS
- Redux Toolkit
- React Router
- Axios
- Chart.js + react-chartjs-2
- React Hot Toast
- React Spinners
Backend:
- Node.js
- Express.js
- MongoDB (Mongoose)
- JWT Authentication
- CORS
- cookie-parser
Deployment:
- Frontend β Vercel
- Backend β Render
- Database β MongoDB Atlas
### 1.Clone the repository
git clone https://github.com/your-username/shrtly.git
cd shrtly
### 2. Setup Backend
cd server
npm install
Create a .env file inside /server:
PORT=3000
MONGO_URI=your_mongo_uri
JWT_SECRET=your_jwt_secret
CLIENT_URL=https://link-tracker-pied.vercel.app
Start the backend:
npm run dev
### 3. Setup Frontend
cd client
npm install
npm run dev