A powerful URL shortening service built with modern technologies including Next.js, MongoDB, Shadcn/UI, and Clerk for authentication. The project features a user dashboard for managing links and comprehensive analytics.
- Next.js: React framework for server-side rendering and static site generation.
- MongoDB: NoSQL database for storing shortened URLs and user data.
- Shadcn/UI: Component library for building user interfaces.
- Clerk Auth: User authentication and management.
- User Dashboard: Manage your shortened links, view analytics, and track performance.
- Analytics: Get insights into link usage, clicks, and more.
Ensure you have the following installed:
- Node.js
- MongoDB
- Yarn or npm
-
Fork the repository
-
Clone the repository:
git clone https://github.com/[username]/u-sh.git cd u-sh
-
Install dependencies:
yarn install # or npm install
-
Set up environment variables:
go to .env.example
file in the root of the project and add your values and rename it to .env.local
:
-
Start the development server:
yarn dev # or npm run dev
-
Open your browser and navigate to
http://localhost:3000
.
Sign up or log in using the authentication provided by Clerk. This will give you access to the user dashboard.
Once authenticated, you can access your dashboard to:
- Create Short URLs: Enter the long URL you want to shorten.
- Manage Links: View, edit, or delete your shortened URLs.
- View Analytics: Track the number of clicks, referrers, and more.
We welcome contributions! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature
). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/your-feature
). - Open a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.