A modern URL Shortening application built with Next.js, featuring authentication, QR code generation, and data visualization capabilities.
- Next.js 15 with App Router
- Authentication with NextAuth.js
- URL shortening service
- MongoDB integration with Mongoose
- QR Code generation
- Data visualization with Recharts
- Modern UI with Tailwind CSS
- JWT-based authentication
- Secure password hashing with bcryptjs
- Node.js (Latest LTS version recommended)
- MongoDB database
- npm or yarn package manager
- Clone the repository:
git clone <repository-url>
- Install dependencies:
npm install
# or
yarn install
- Set up environment variables:
Create a
.env.local
file in the root directory with the following variables:
MONGODB_URI=your_mongodb_connection_string
NEXTAUTH_SECRET=your_nextauth_secret
NEXTAUTH_URL=http://localhost:3000
- Start the development server:
npm run dev
# or
yarn dev
- Open http://localhost:3000 in your browser to see the application.
- Frontend: Next.js 15, React 19, Tailwind CSS
- Backend: Next.js API Routes
- Database: MongoDB with Mongoose
- Authentication: NextAuth.js
- Data Visualization: Recharts
- QR Code: qrcode.react
- Security: bcryptjs, jsonwebtoken
my-app/
├── src/ # Source code
├── models/ # Database models
├── public/ # Static assets
├── .env.local # Environment variables
└── package.json # Project dependencies
- Password hashing with bcryptjs
- JWT-based authentication
- Environment variable protection
- Secure session management with NextAuth.js
The application uses Recharts for creating interactive and responsive charts and graphs.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.