{"id":15685564,"url":"https://github.com/pradumnasaraf/shortify","last_synced_at":"2025-05-07T17:21:32.915Z","repository":{"id":164737609,"uuid":"640175332","full_name":"Pradumnasaraf/Shortify","owner":"Pradumnasaraf","description":"Shortify is a fast and reliable URL shortener written in Go, using Redis as a database and built with the Fiber web framework.","archived":false,"fork":false,"pushed_at":"2023-07-27T18:44:20.000Z","size":68,"stargazers_count":9,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-21T01:06:14.597Z","etag":null,"topics":["fiber","golang","redis"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Pradumnasaraf.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["eddiejaoude"]}},"created_at":"2023-05-13T08:22:57.000Z","updated_at":"2024-12-13T04:20:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"7c21b02d-78d5-45a6-bfea-6c768d725005","html_url":"https://github.com/Pradumnasaraf/Shortify","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pradumnasaraf%2FShortify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pradumnasaraf%2FShortify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pradumnasaraf%2FShortify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pradumnasaraf%2FShortify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pradumnasaraf","download_url":"https://codeload.github.com/Pradumnasaraf/Shortify/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252922308,"owners_count":21825641,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fiber","golang","redis"],"created_at":"2024-10-03T17:26:47.061Z","updated_at":"2025-05-07T17:21:32.894Z","avatar_url":"https://github.com/Pradumnasaraf.png","language":"Go","funding_links":["https://github.com/sponsors/eddiejaoude"],"categories":[],"sub_categories":[],"readme":"# Shortify\n\n**Shortify** is a fast and reliable URL shortener written in Go, using [Redis](https://redis.io/) as a database and built with the [Fiber](https://github.com/gofiber/fiber) web framework.\n\n![Shortify](https://github.com/Pradumnasaraf/Shortify/assets/51878265/c52de6fa-a638-4ff9-9dfe-2009017ebba3)\n\n## 📦 Installation\n\nBefore you begin, make sure you have [Docker](https://www.docker.com/) and [Docker Compose v2](https://docs.docker.com/compose/) installed on your machine. Then, follow these steps to install and run Shortify:\n\n1. Clone this repository to your local machine.\n\n2. Create a `.env` file inside the `api` folder by copying the `.env.example` file. You can do this by running the following command from the root directory of the project:\n\n   ```bash\n   cp api/.env.example api/.env\n   ```\n   \n3. Start the project by running the following command from the root directory of the project:\n   ```bash\n   docker compose up\n   ```\n\n## 📝 Usage\n\nTo create a short URL, send a `POST` request to the `/api/v1` endpoint with the following JSON body:\n\n```json\n{\n  \"url\": \"https://pradumnasaraf.dev\",\n  \"short\": \"pradumna\"\n}\n```\n\nThe `short` field is optional. If you don't provide it, a random string will be generated. In response, you will receive the following JSON body:\n\n```json\n{\n  \"url\": \"https://pradumnasaraf.dev\",\n  \"short\": \"localhost:8080/pradumna\",\n  \"expiry\": 24,\n  \"rate_limit\": 9,\n  \"rate_limit_reset\": 30\n}\n```\n\nYou can modify the rate limit in the `.env` file. To test if the short URL works, enter it into your browser's address bar. For example, if the short URL is `http://localhost:8080/pradumna`, you will be redirected to the original URL.\n\n## 📜 License\n\nThis project is licensed under the Apache-2.0 license - see the [LICENSE](LICENSE) file for details.\n\n## 🛡 Security\n\nIf you discover a security vulnerability within this project, please check the [SECURITY](SECURITY.md) file for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpradumnasaraf%2Fshortify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpradumnasaraf%2Fshortify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpradumnasaraf%2Fshortify/lists"}