URL Shortener Web Application! This URL Shortener is a powerful tool that allows you to convert long, complex URLs into concise and easy-to-share links. Built with React, Node.js, and MongoDB, our application provides users with a seamless and secure platform to shorten URLs and manage their shortened links efficiently. It allows users to securely login with their passwords using JWT authentication.
Watch a quick video demonstration of My URL Shortener Web Application:
Register
: POST Data to MongoDB DatabaseLogin
: GET Data from MongoDB DatabaseURL Shortening
: You can convert long, complex URLs into concise, easy-to-share links.
MongoDB User Data
: View User Data on MongoDB DatabaseJWT Token Generation
: For Secure user authenticationURL Clicks Count
: You can view the URL link's clicks count.
Forgot Password
: Mail Sent to Registered User's Mail ID using SMTP ProtocolJWT Token Generation
: For Secure user authenticationReset Password
: PUT Data to MongoDB DatabaseLogin
: using New PasswordURL Shortening
: You can convert long, complex URLs into concise, easy-to-share links.
JWT Token Expiry
: After a Password Reset expiration for enhanced security
- URL Shortening: Shorten long URLs into concise, easy-to-share links.
- URL Management: View, edit, and delete your shortened URLs from your dashboard.
- Statistics: Track statistics such as clicks and views for each shortened URL.
- JWT Authentication: Secure user authentication with JSON Web Tokens.
- Password Reset: Seamless password reset functionality for users.
- Email Notifications: Nodemailer integration to send password reset emails.
- JWT Token Expiry: Automatic expiration of JWT tokens for enhanced security.
- Signup: User registration with email and password.
- Authorize Email: Validate email addresses to ensure they are legitimate.
- Password Validation: Ensure strong password requirements for user security.
- React Frontend: Modern and intuitive user interface built with React.
- Node.js Backend: Robust backend server developed with Node.js.
- MongoDB Integration: Integration with MongoDB for efficient data storage.
-
Clone the Repository:
git clone https://github.com/your-username/url-shortener.git
-
Navigate to the Project Directory:
cd url-shortener
-
Install Dependencies for the Frontend:
cd client npm install
-
Install Dependencies for the Backend:
cd .. cd server npm install
-
Set up Environment Variables:
-
Create a
.env
file in theserver
directory. -
Define the following variables:
PORT=8090 MONGODB_URI=<your-mongodb-uri> JWT_SECRET=<your-jwt-secret>
-
-
Start the Backend Server:
cd server npm start
-
Start the Frontend Development Server:
cd client npm start
-
Visit
http://localhost:3000
in your web browser to access the application.