{"id":29608119,"url":"https://github.com/covicale/url-shortener-go","last_synced_at":"2026-04-17T01:02:19.119Z","repository":{"id":245021509,"uuid":"816982810","full_name":"Covicale/url-shortener-go","owner":"Covicale","description":"Simple URL Shortener made with Go and PostgreSQL","archived":false,"fork":false,"pushed_at":"2024-07-04T17:40:47.000Z","size":255,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-07-12T05:03:50.850Z","etag":null,"topics":["go","html","mvc","postgresql","url-shortener"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Covicale.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-06-18T19:20:11.000Z","updated_at":"2024-07-04T17:40:50.000Z","dependencies_parsed_at":"2024-06-23T02:35:20.644Z","dependency_job_id":"5e078680-ab01-4882-be37-2bc4f6b389ae","html_url":"https://github.com/Covicale/url-shortener-go","commit_stats":null,"previous_names":["covicale/url-shortener-go"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Covicale/url-shortener-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Covicale%2Furl-shortener-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Covicale%2Furl-shortener-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Covicale%2Furl-shortener-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Covicale%2Furl-shortener-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Covicale","download_url":"https://codeload.github.com/Covicale/url-shortener-go/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Covicale%2Furl-shortener-go/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266180411,"owners_count":23888742,"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":["go","html","mvc","postgresql","url-shortener"],"created_at":"2025-07-20T19:01:55.507Z","updated_at":"2026-04-17T01:02:19.049Z","avatar_url":"https://github.com/Covicale.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# URL Shortener GO\n\n![Demo Preview](images/quick-demo.gif)\n\n[![GitHub last commit](https://img.shields.io/github/last-commit/covicale/url-shortener-go)](https://img.shields.io/github/last-commit/covicale/url-shortener-go)\n[![GitHub issues](https://img.shields.io/github/issues-raw/covicale/url-shortener-go)](https://img.shields.io/github/issues-raw/covicale/url-shortener-go)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/covicale/url-shortener-go)](https://img.shields.io/github/issues-pr/covicale/url-shortener-go)\n[![GitHub](https://img.shields.io/github/license/covicale/url-shortener-go)](https://img.shields.io/github/license/covicale/url-shortener-go)\n\nURL Shortener GO is a simple URL shortener project written in Go. It uses a PostgreSQL database to store the shortened URLs and native net/http package to handle the requests.\n\nThis project uses JWT for authentication and authorization. The frontend is plain HTML, CSS, and JavaScript with no frameworks or libraries, to keep it simple and focus on the backend.\n\n# Table of Contents\n\n- [URL Shortener GO](#url-shortener-go)\n- [Table of Contents](#table-of-contents)\n- [Installation](#installation)\n  - [Docker Compose](#docker-compose)\n  - [Manual Installation](#manual-installation)\n- [Usage](#usage)\n- [License](#license)\n\n# Installation\n\nFirst of all, you need to clone the project to your local machine.\n\n```shell\ngit clone https://github.com/Covicale/url-shortener-go.git\n```\n\nAfter the cloning is complete, you need set the environment variables.\n\nIn the project, you will find a `.env.demo` file. You need to rename this file to `.env` and update the values according to your environment.\n\nThere are two ways to install this project: With docker-compose or manual installation.\n\n## Docker Compose\n\nYou can use the provided `docker-compose.yml` file to run the project with a single command.\n\n```shell\ndocker-compose up\n```\n\n## Manual Installation\n\nIf you don't want to use Docker, you can install the project manually. Pre-requisites are Go and PostgreSQL:\n\n- **Go**: 1.22 or higher\n- **PostgreSQL**: 16 or higher\n\nAfter launching the PostgreSQL server, you need to create a database and a user for the project. \\\nThere is a `internal/db/schema/schema.sql` file. You can use this file to create the database.\n\nOnce the database is created, you can simply run the project with:\n\n```shell\ngo build -o url-shortener-go cmd/main.go\n./url-shortener-go\n```\n\n# Usage\n\nIn your browser, navigate to `http://localhost:${PORT}` to see the URL Shortener GO in action.\n\nFirst, you need to register a new user. After registering, you can log in with your credentials.\n\nAfter logging in, you can shorten URLs and see the list of shortened URLs.\n\n![URL Shortener GO](images/usage.png)\n\n# License\n\n[MIT license](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcovicale%2Furl-shortener-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcovicale%2Furl-shortener-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcovicale%2Furl-shortener-go/lists"}