Link shortening made simple.
- Introduction
- Important Links
- Technology Used
- Features
- Top Level Directory Structure
- Screenshots of the project
- Installation
- Contributions
- Feedback
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 ❤.
- Deployed Website 👉 https://urlshortenerapp.onrender.com/
- Postman API Documentation 👉 https://documenter.getpostman.com/view/27055315/2s93Y5Nf7N
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 |
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.
├── 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
URL Shortener Page | Short URL generation |
SignUp Page | Login Page |
Home Screen Before Authentication | Home Screen After Authentication |
To setup the project on your local environment, follow the given steps:
- Fork the Palaksharma23/URL-Shortener repository.
- 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.
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.
Feel free to send any feedback on Twitter or file an issue.