Pckd is a free-to-use URL Shortener, that can be easily self-hosted with awesome features like:
- ๐ Shorten URLs (or
pckd
s) with, or without an account - ๐๏ธ Customize back-halfs on every pckd
- ๐ Deploy to custom URL and Infrastructure
- ๐งค Customize settings like link back-halfs, link targets, tracking info, etc.
- ๐ต๏ธโโ๏ธ Track each click on a pckd, and retrieve
- ๐ IP address (Spoof-resistant)
- ๐ธ๏ธ ISP Name
- ๐บ๏ธ IP-Location
- ๐ป Device details like OS Version and Device Model
- ๐ช Browser Name and including version
- ๐ฏ Custom Loading/Redirecting Screen (self-hosted only)
- ๐โโ๏ธ Quick Redirections in 150ms!
- ๐ Fast, Reliable and Secure
- ๐ฎ Secure Secret Storage and handling using ๐ป environment variables
- โจ Built on a modern tech stack
- ๐ฟ Compatible with MySQL, PostgreSQL, MongoDB and many more
This project was created to be the most powerful URL shortener for the public, so no wonder it's so feature-rich
๐ธ Screenshots
Here is a sneak peek of the application and it's visuals ๐:
Dashboard Page |
|
Login |
Signup |
Account Page |
Reset Password |
Home Page |
Want to create your own iteration? View the designs on Figma
๐ Supporters
Pckd is made possible by support from some awesome folks including:
๐ One-off Backers
Geeked |
Ben Notix |
Rizwan Ahmed |
[Add your support] |
๐ค Why does Pckd exist?
After looking at all the aka.ms
links out there which flood windows, along with the numerous time saving been prompted
to buy premium plans from bit.ly
while shortening my URLs, the decision of having a reliable, personal URL shortener
hosted on a custom domain for free caught wind.
๐งฎ Comparison
Pckd stacks up well against major URL Shorteners
๐ฒ Built With (Tech Stack)
The following technologies were involved in the making of this project.
- โ๏ธ React JS - Frontend
- ๐ Apollo GraphQL Server v3 - Server API
- ๐งฉ GraphQL Template By Mohit - Boilerplate for Apollo
- ๐ฟ Prisma - ORM
- ๐จ Any relational or non-relational database that Prisma supports
- ๐บ๏ธ Redux w/ Redux Toolkit - State management
- ๐ IP Registry - Free Geolocation lookups
๐คฏ Quick Start Guide
To get started with having your own instance of Pckd, follow the steps described in the following section
๐ฆ Get an API Key first
Pckd uses IP Registry for Geo-location look-ups to track hits (free for 100,000 lookups)
Obtain an API key from the ipregistry.co website
๐พ Installation
Pckd supports the following installations
- ๐ Build from source code
- ๐ฆ [Soon] Deploy the release
- ๐ณ [Unstable] Docker-Compose Installation
- ๐ [Soon] Docker-Hub Pre-built Image
Read all installation docs here
๐ฃ Roadmap
This project is far from perfect, and we'll reach there one day, or at least get close.
- Link-in-bio feature (Discussion #49)
- Admin Panel Support (Discussion #43)
- Multiple Subdomain Support (Discussion #14)
- Email Notifications for hits if enabled (Discussion #18)
- Custom OG Preview for social-sharing (Discussion #39)
- One-Click Deploys (Discussion #44)
- Password-protected links (Discussion #41)
Have a look at the ๐ฃ Roadmap for a full list of proposed features and enhancements.
๐ Architecture
Here's a diagram explaining exactly how everything fits into place
๐ Contributing
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Also, refer to Contributing.md
Contributors
Mohit Yadav |
Derock |
Rizwan Ahmed |
Petr Leo Compel |
Sujith |
๐ Author
๐๐ปโโ๏ธ Mohit Yadav
You can reach out to Mohit Yadav, the maintainer of the app on Twitter, yo@mohitya.dev or Discord
For installation support |
To support Projects |
Awesome projects |
๐ก License
Distributed under the MIT License. See LICENSE.md
for more information.
๐ Support this project
โซโญ๏ธ Scroll to the star button
If you believe this project has potential, feel free to star this repo just like many amazing people have.