https://github.com/douglasmakey/ursho
URL Shortener Service in Go
https://github.com/douglasmakey/ursho
go golang shorten-urls shortener url-shortener
Last synced: about 2 months ago
JSON representation
URL Shortener Service in Go
- Host: GitHub
- URL: https://github.com/douglasmakey/ursho
- Owner: douglasmakey
- License: mit
- Created: 2017-05-05T04:33:35.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2022-10-13T21:07:10.000Z (about 3 years ago)
- Last Synced: 2025-04-03T03:06:42.481Z (6 months ago)
- Topics: go, golang, shorten-urls, shortener, url-shortener
- Language: Go
- Homepage:
- Size: 43.9 KB
- Stars: 126
- Watchers: 8
- Forks: 40
- Open Issues: 2
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
## Synopsis
#### URL Shortener Service
## Run
Run with Docker
```bash
docker-compose up
```## Code Example
Using CURL
Generate shortener\
```
$ curl -H "Content-Type: application/json" -X POST -d '{"url":"www.google.com"}' http://localhost:8080/encode/```
Redirect
Open url in your browser [http://localhost:8080/bN](http://localhost:8080/1)OR
```$
curl http://localhost:8080/1
```Get info for url shortener\
`curl http://localhost:8080/info/1 `Response:
```json
{
"success":true,
"response": {
"url":"www.google.com",
"visited":true,
"count":1
}
}
```## Motivation
..
## Installation
You can install it using 'go get' or cloning the repository.
#### Use go get
```
# fetches the program
go get github.com/douglasmakey/ursho# move to the app's directory
cd $GOPATH/src/github.com/douglasmakey/ursho
```
#### Cloning the repo
We'll use github.com/user as our base path. Create a directory inside your workspace in which to keep source code:***mkdir -p $GOPATH/src/github.com/douglasmakey cd "$_"***
Clone repository or download and unrar in folder\
```git clone https://github.com/douglasmakey/ursho.git```Use GLIDE Package Management for Golang, for installation all packages
https://github.com/Masterminds/glide
Run `glide install` in the folder.
#### Select method of persistence
select the method of persistence, in which you going to work.\
`storage := &storages.Postgres{}`If selected Postgresql as Storage, create database
```sql
CREATE DATABASE ursho_db;
```Add your config for the method of persistence and other options in file config.json\
```json
{
"server": {
"host": "0.0.0.0",
"port": "8080"
},
"options": {
"prefix": "http://localhost:8080/"
},
"posgres": {
"user": "postgres",
"password": "mysecretpassword",
"db": "ursho_db"
}
}
```
## API Reference..
## Tests
..
## Contributors
..
## License
A short snippet describing the license (MIT, Apache, etc.)