Skip to content

Palaksharma23/URL-Shortener

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

URL Shortener


URL Shortener

Link shortening made simple.

URL Shortener App

Table of Contents

Introduction

Our URL shortener app simplifies long and complex URLs, making it easy to share and remember links. With just a few clicks, our app generates short, easy-to-type URLs that redirect to your desired page, saving you time and making it simple to share links on social media, email, or text messages.

Say goodbye to long and complicated URLs and hello to our user-friendly URL shortener ❤.

Important links related to the project

Technology Used

Technology Features
Node.js, Express.js Backend of the application
MongoDB Atlas, Mongoose Database for the application
Redis Client Fast and efficient in memory data storage
Bcrypt Password Management
JSON Web Token Authorization and Authentication
Render Deployment
Postman API Testing, Debugging and Documentation

Features

Things you can do with URL Shortener:

  • Convert the Original URL to the Short URL
  • Sign up for the application
  • Log in to the application
  • Log out of the application
  • Short URL automatically redirects to the original URL
  • Security Features such as Rate Limiting, Password Encryption, etc.

Top-level directory structure

├── controllers             # This folder contains the controllers of the application. These controllers handle incoming requests from clients, interact with the model to retrieve or update data, and send responses back to the client.
├── models                  # This folder handles the data and manages the schema of the data to be stored in the database.
├── public                  # This folder handles images, JavaScript, and CSS that are related to the website and can be accessed by the client.
├── Routes                  # This folder handles the routes of the application, determining what actions need to be performed for specific routes.
├── utils                   # This folder manages the utility files that contain classes used throughout the website.
├── views                   # This folder manages the templates used to generate the view of the website.             
├── .gitignore                 
├── app.js                    
├── package-lock.json                     
├── package.json                    
└── README.md
mvc architecture

Screenshots of the project

URL Shortener Page Short URL generation
SignUp Page Login Page
screely-1677924790571 screely-1677925542185
Home Screen Before Authentication Home Screen After Authentication
screely-1677925947288

Installation


To setup the project on your local environment, follow the given steps:

  1. Fork the Palaksharma23/URL-Shortener repository.
  2. Clone the repository:
https://github.com/<USERNAME>/URL-Shortener.git

Replace the <USERNAME> with your GitHub username.

Install the necessary dependencies

  npm install

Add a config.env file in the root directory and enter your MongoDb Atlas and REDIS Client credentials The format of config.env file should be similar to the following

DATABASE=Your_MongoDB_Connection_String
REDISPASSWORD=Your_REDIS_Client_Password
JWT_SECRET=Your_JWT_Secret_Key
JWT_EXPIRES_IN=Your_JWT_Expiry_Time
JWT_COOKIE_EXPIRES_IN=Your_JWT_Cookie_Expiry_Time

To start the server in development mode

  npm run dev 

For monitoring changes in the development mode, create a new terminal and run the following command in the directory

  npm run watch:js

Go to localhost:3000 to view the website.

Contributions

Your worthy contributions are most welcome to the URL Shortener website. If you have an idea for a new feature or a bug fix, please submit an issue or pull request.

Feedback

Feel free to send any feedback on Twitter or file an issue.

About

A Node.js based user-friendly URL shortener ❤.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published