This project is a URL shortener built using Node.js, Express.js, MongoDB, along with HTML and CSS for the front-end. It features a user authentication system, ensuring that only logged-in users can generate and manage their shortened URLs. The application also provides detailed analytics for each link created by a user.
https://youtu.be/R9GGsFb-F2w?si=gkFy35RtiuMa4S3H
- URL Shortening: Users can input a URL and receive a shortened version of it.
- User Authentication: Only authenticated users can create shortened URLs. Authentication is managed via session cookies.
- Link Analytics: Users can view detailed analytics for each shortened link they create, including the number of clicks, the short ID, and the original redirected URL.
- Responsive Design: The front-end is built with HTML and CSS, making it accessible and functional across different devices and screen sizes.
- Node.js: A JavaScript runtime built on Chrome's V8 JavaScript engine.
- Express.js: A web application framework for Node.js, designed for building web applications and APIs.
- MongoDB: A NoSQL database used to store user and URL data.
- HTML/CSS: Used for structuring and styling the front-end of the application.
Before you begin, ensure you have installed the following:
- Node.js
- MongoDB
- npm (Node Package Manager)
-
Clone the repository:
git clone https://github.com/your-username/url-shortener.git cd url-shortener
-
Install NPM packages:
npm install
-
Start the server:
npm start
-
Visit
http://localhost:8000
in your web browser to start using the application.
After logging in, users can:
- Create new shortened URLs by entering the original URL.
- View a list of all previously shortened URLs along with their analytics.
Contributions are welcome, and any contributions you make are greatly appreciated. If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Your Name - alay.patel@iitgn.ac.in
Feel free to reach out if you have any questions or suggestions!