URL Shortener is a scalable and efficient link-shortening service built with Rust (Actix Web) for the backend, Next.js for the frontend, and Supabase (PostgreSQL) as the database.
The system is currently deployed at: https://url-shortener-steel-ten.vercel.app/
Due to the long URL generated by Vercel, the system does not work as expected. To make it fully functional, a shorter custom domain would be required.
To run this project locally, follow these steps:
git clone https://github.com/arrudagba/URL-Shortener.git
cd URL-Shortenercurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shcd rust
cargo buildtouch .envThen, add the following environment variables:
DATABASE_URL=<your_supabase_postgres_api>
BASE_URL=http://127.0.0.1:8080
PORT=8080
cargo runcd ..
npm installtouch .env.localThen, add the following:
NEXT_PUBLIC_API_URL=http://127.0.0.1:8080
npm run devThe application will be available at http://localhost:3000
- Shorten long URLs into unique, short links
- Store shortened URLs in Supabase (PostgreSQL)
- Simple and minimal UI with Next.js
This project is open-source and available under the MIT License.
Feel free to open issues and submit pull requests to improve this project!
For questions or suggestions, please open an issue in the repository.