Project Description: This is the backend component of the high-performance URL shortening service implemented using Spring Boot, React, Next.js, and NoSQL. The project includes a sophisticated ID generator that uses a custom algorithm to convert IDs into a compact base62 format, enabling the creation of concise and unique shortened URLs. Additionally, an integrated Java Spring-based API rate limiter efficiently manages incoming requests, enhancing system stability by tracking token availability and timed refills. The backend also utilizes Redis as an in-memory caching layer to optimize the retrieval of frequently accessed URLs, reducing database load and improving overall response times.
- Clone the repository.
- Run the main class
MinilinksApplication.java
to start the backend.
- Make sure Redis is running. If not, follow the Redis installation instructions.
- Visit http://localhost:3000 in the browser.*
- Enter the desired URL, making sure to include the prefix
http://
orhttps://
. - Click the button to generate a new shortened link.
*For the front setup, please follow these steps:
- Visit the MiniLinks Frontend Repository for instructions on setting up the frontend.
- URL shortening for convenient link sharing.
- Fast response times for optimal user experience.
- Built-in rate limiting to prevent abuse and ensure system stability.
- Spring Boot
- React
- Next.js
- Redis
- Tailwind CSS
Currently, no specific guidelines for contributing have been established. However, contributions are welcome.
No specific license has been chosen for this project.
This project is authored by Alex Pich.