A modern, full-featured URL shortening application built with Next.js, TypeScript, and Material-UI. This application allows users to create shortened URLs with analytics tracking and provides a clean, responsive interface.
- ✨ URL Shortening: Convert long URLs into short, shareable links
- 📊 Analytics Dashboard: Track and analyze URL usage statistics
- 🎨 Modern UI: Clean, responsive interface built with Material-UI
- 🚀 Fast Performance: Built with Next.js for optimal performance
- 🔗 Simple Navigation: Clean navigation between main features
- Frontend: Next.js 15, React 19, TypeScript
- UI Library: Material-UI (MUI) v7
- Styling: Emotion (CSS-in-JS)
- Icons: Material-UI Icons
- Font: Inter (Google Fonts)
Frontend/
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── layout.tsx # Root layout
│ │ ├── page.tsx # Home page
│ │ ├── not-found.tsx # 404 page
│ │ └── globals.css # Global styles
│ ├── components/ # React components
│ │ ├── Navigation.tsx # Clean navigation bar
│ │ ├── UrlShortenerForm.tsx # URL shortening form
│ │ ├── StatisticsPage.tsx # Analytics dashboard
│ │ ├── RedirectPage.tsx # URL redirect handler
│ │ └── providers/ # Context providers
│ ├── services/ # API services
│ │ └── urlService.ts # URL management service
│ ├── types/ # TypeScript type definitions
│ │ └── url.ts # URL-related types
│ └── theme/ # Theme configuration
├── public/ # Static assets
│ └── favicon.ico
├── package.json
├── tsconfig.json
├── next.config.js
└── README.md
- Node.js 18+
- npm or yarn package manager
- Clone the repository:
git clone https://github.com/yourusername/url-shortener.git
cd url-shortener- Navigate to the Frontend directory:
cd Frontend- Install dependencies:
npm install
# or
yarn install- Start the development server:
npm run dev
# or
yarn dev- Open http://localhost:3000 in your browser.
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
The Navigation component provides:
- Clean, minimal navigation bar
- Shorten URLs: Main page for creating shortened links
- Statistics: Analytics dashboard with dedicated icon
- Active route highlighting with Material-UI variants
- Responsive design with Material-UI Container and AppBar
- Streamlined performance without logging overhead
- Input validation for URLs
- Form handling with TypeScript
- Real-time feedback and error handling
- Comprehensive analytics for shortened URLs
- Interactive data visualization
- Export functionality for data analysis
The navigation component focuses on core functionality:
- Simple route switching between main features
- Visual feedback for active routes
- Responsive Material-UI design
- Optimized performance
- Create and manage shortened URLs
- Track analytics and user engagement
- URL validation and error handling
- Material-UI components for consistent design
- Loading states and user feedback
- Responsive layout for all screen sizes
- Clean, modern interface design
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Use TypeScript for type safety
- Follow React best practices and hooks patterns
- Implement responsive design with Material-UI
- Write clean, documented code
- Use Material-UI components consistently
- Focus on performance and simplicity
https://url-shortner-sable-ten.vercel.app/