Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (6.5%) to scientific vocabulary
Last synced: 9 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: AAAAAXfda-zz
  • License: mit
  • Language: Ruby
  • Default Branch: main
  • Size: 634 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 4 years ago · Last pushed over 4 years ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Codeowners Security Roadmap

README.md

# shortlink Shortlink service [![PkgGoDev](https://pkg.go.dev/badge/mod/github.com/batazor/shortlink)](https://pkg.go.dev/mod/github.com/batazor/shortlink) [![codecov](https://codecov.io/gh/batazor/shortlink/branch/main/graph/badge.svg?token=Wxz5bI4QzF)](https://codecov.io/gh/batazor/shortlink) [![Go Report Card](https://goreportcard.com/badge/github.com/batazor/shortlink)](https://goreportcard.com/report/github.com/batazor/shortlink) [![Releases](https://img.shields.io/github/release-pre/batazor/shortlink.svg)](https://github.com/batazor/shortlink/releases) [![LICENSE](https://img.shields.io/github/license/batazor/shortlink.svg)](https://github.com/batazor/shortlink/blob/main/LICENSE) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3510/badge)](https://bestpractices.coreinfrastructure.org/projects/3510)


High Level Architecture 🚀

shortlink-arhitecture

Architecture (miro.com)

Architecture decision records] (ADR)

An architecture decision record (ADR) is a document that captures an important architecture decision made along with its context and consequences.

Services

| Service | Description | Language/Framework | Docs | |-------------|---------------------------------------------|---------------------------|------------------------------------------| | landing | Welcome page | JS/JQuery | | | docs | Example blog | Hugo | https://batazor.github.io/shortlink/ | | next | UI service | JS/NextJS | docs | | api | GateWay | Go | docs | | link | Link service | Go | docs | | newsletter | Newsletter service | Rust | | | proxy | Proxy service for redirect to original URL | TypeScript | | | bot | Telegram bot | JAVA | | | billing | Billing service | Go | | | logger | Logger service | Go | | | metadata | Parser site by API | Go | | | notify | Send notify to smtp, slack, telegram | Go | | | shortctl | Shortlink CLI | Go | docs | | csi | CSI example | Go | | | ory/kratos | User management service | Go | docs | | ory/hydra | OAuth 2.0 Provider | Go | docs | | shortdb | Custom database | Go | docs |

Run

DETAILS

##### Require ###### Install GIT sub-repository ``` git submodule update --init --recursive ``` ##### docker-compose ###### For run ``` make run ``` ###### For down ``` make down ``` ##### Kubernetes (1.19+) ###### For run ``` make minikube-up make helm-shortlink-up ``` ###### For down ``` make minikube-down ``` ##### Skaffold [(link)](https://skaffold.dev/) ###### For run ``` make skaffold-init make skaffold-up ``` ###### For down ``` make skaffold-down ``` ###### Debug mode ``` make skaffold-debug ```

HTTP API

arhitecture.json

Support HTTP REST API:
  • HTTP (chi)
  • gRPC-gateway
  • GraphQL
  • Optional

MQ

OpenTracing

http_add_link

Cloud-Native

Gateway

  • Traefik
  • Nginx

UI

ENV for UI

Use .env file in ui/[next/etc] directories for setting your UI

| Name | Default | Description | |:--------------------|:------------------------------------------------------------|:-----------------------------------------------------------------------------------------------| | NODEENV | - | Select: production, development, etc... | | SENTRYDSN | - | Your sentry DSN |

UI Screenshot

| Describe | Screenshot | |-------------------------|--------------------------------------| | Link Table | ![link table](./docs/next-js-ui.png) |

Mobile

  • Hello World on flutter ;-)

Configuration

DETAILS

##### [12 factors: ENV](https://12factor.net/config) [View ENV Variables](./docs/env.md)

CoreDNS IP table

| Service | Ip address | Description | |:--------|:-----------|:-----------------------------------------------| | store | 10.5.0.100 | Main database (postgres/mongo/cassandra/redis) |

troubleshooting

Sometimes a container without a specified ip may occupy a binding address of another service, which will result in Address already in use.

Ansible

DETAILS

##### Vagrant ``` cd ops/vagrant vagrant up cd ops/ansible ansible-playbook playbooks/playbook.yml ``` ##### DNS/HTTP + `ui-next.shortlink.vagrant:8081`

CI/CD

-~- THE END -~-

Owner

  • Login: AAAAAXfda-zz
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
title: "My Research Software"
abstract: This is my awesome research software. It does many things.
authors:
  - family-names: Login
    given-names: Victor
    orcid: https://orcid.org/0000-0002-1978-332X
version: 0.10.0
date-released: 2025-08-24
license: MIT
keywords:
  - shortlink
  - architecture
repository-code: "https://github.com/batazor/shortlink"

GitHub Events

Total
Last Year

Dependencies

go.mod go
  • cloud.google.com/go/compute v1.2.0
  • github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1
  • github.com/Masterminds/squirrel v1.5.2
  • github.com/Microsoft/go-winio v0.5.1
  • github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5
  • github.com/PuerkitoBio/goquery v1.8.0
  • github.com/PuerkitoBio/purell v1.1.1
  • github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578
  • github.com/Shopify/sarama v1.31.1
  • github.com/Unleash/unleash-client-go/v3 v3.2.4
  • github.com/aerospike/aerospike-client-go v4.5.2+incompatible
  • github.com/andybalholm/cascadia v1.3.1
  • github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef
  • github.com/atomicgo/cursor v0.0.1
  • github.com/beorn7/perks v1.0.1
  • github.com/c-bata/go-prompt v0.2.6
  • github.com/cenkalti/backoff/v4 v4.1.2
  • github.com/cespare/xxhash v1.1.0
  • github.com/cespare/xxhash/v2 v2.1.2
  • github.com/cloudevents/sdk-go/v2 v2.8.0
  • github.com/cnf/structhash v0.0.0-20201127153200-e1b16c1ebc08
  • github.com/container-storage-interface/spec v1.5.0
  • github.com/containerd/continuity v0.1.0
  • github.com/coreos/go-semver v0.3.0
  • github.com/coreos/go-systemd/v22 v22.3.2
  • github.com/cpuguy83/go-md2man/v2 v2.0.1
  • github.com/cucumber/gherkin-go/v19 v19.0.3
  • github.com/cucumber/godog v0.12.4
  • github.com/cucumber/messages-go/v16 v16.0.1
  • github.com/davecgh/go-spew v1.1.1
  • github.com/dgraph-io/badger/v3 v3.2103.2
  • github.com/dgraph-io/dgo/v2 v2.2.0
  • github.com/dgraph-io/ristretto v0.1.0
  • github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f
  • github.com/docker/cli v20.10.11+incompatible
  • github.com/docker/docker v20.10.9+incompatible
  • github.com/docker/go-connections v0.4.0
  • github.com/docker/go-units v0.4.0
  • github.com/dustin/go-humanize v1.0.0
  • github.com/eapache/go-resiliency v1.2.0
  • github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21
  • github.com/eapache/queue v1.1.0
  • github.com/fsnotify/fsnotify v1.5.1
  • github.com/getsentry/sentry-go v0.12.0
  • github.com/go-chi/chi/v5 v5.0.7
  • github.com/go-chi/cors v1.2.0
  • github.com/go-chi/render v1.0.1
  • github.com/go-kit/kit v0.12.0
  • github.com/go-kit/log v0.2.0
  • github.com/go-logfmt/logfmt v0.5.1
  • github.com/go-logr/logr v1.2.0
  • github.com/go-openapi/analysis v0.20.0
  • github.com/go-openapi/errors v0.20.0
  • github.com/go-openapi/jsonpointer v0.19.5
  • github.com/go-openapi/jsonreference v0.19.5
  • github.com/go-openapi/loads v0.20.2
  • github.com/go-openapi/runtime v0.19.27
  • github.com/go-openapi/spec v0.20.3
  • github.com/go-openapi/strfmt v0.20.0
  • github.com/go-openapi/swag v0.19.14
  • github.com/go-openapi/validate v0.20.2
  • github.com/go-redis/cache/v8 v8.4.3
  • github.com/go-redis/redis/v8 v8.11.4
  • github.com/go-sql-driver/mysql v1.6.0
  • github.com/go-stack/stack v1.8.0
  • github.com/go-telegram-bot-api/telegram-bot-api/v5 v5.5.1
  • github.com/gofrs/uuid v4.0.0+incompatible
  • github.com/gogo/protobuf v1.3.2
  • github.com/golang-migrate/migrate/v4 v4.15.1
  • github.com/golang/glog v1.0.0
  • github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da
  • github.com/golang/protobuf v1.5.2
  • github.com/golang/snappy v0.0.4
  • github.com/google/flatbuffers v2.0.0+incompatible
  • github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
  • github.com/google/uuid v1.3.0
  • github.com/google/wire v0.5.0
  • github.com/googleapis/gax-go/v2 v2.1.1
  • github.com/gookit/color v1.4.2
  • github.com/gorilla/mux v1.8.0
  • github.com/graph-gophers/graphql-go v1.3.0
  • github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.0-rc.2
  • github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0
  • github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.3
  • github.com/hashicorp/errwrap v1.0.0
  • github.com/hashicorp/go-immutable-radix v1.3.1
  • github.com/hashicorp/go-memdb v1.3.0
  • github.com/hashicorp/go-multierror v1.1.0
  • github.com/hashicorp/go-uuid v1.0.2
  • github.com/hashicorp/golang-lru v0.5.4
  • github.com/hashicorp/hcl v1.0.0
  • github.com/heptiolabs/healthcheck v0.0.0-20211123025425-613501dd5deb
  • github.com/imdario/mergo v0.3.12
  • github.com/inconshreveable/mousetrap v1.0.0
  • github.com/jackc/chunkreader/v2 v2.0.1
  • github.com/jackc/pgconn v1.11.0
  • github.com/jackc/pgio v1.0.0
  • github.com/jackc/pgpassfile v1.0.0
  • github.com/jackc/pgproto3/v2 v2.2.0
  • github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b
  • github.com/jackc/pgtype v1.10.0
  • github.com/jackc/pgx/v4 v4.15.0
  • github.com/jackc/puddle v1.2.1
  • github.com/jcmturner/aescts/v2 v2.0.0
  • github.com/jcmturner/dnsutils/v2 v2.0.0
  • github.com/jcmturner/gofork v1.0.0
  • github.com/jcmturner/gokrb5/v8 v8.4.2
  • github.com/jcmturner/rpc/v2 v2.0.3
  • github.com/jmoiron/sqlx v1.3.4
  • github.com/johejo/golang-migrate-extra v0.0.0-20211005021153-c17dd75f8b4a
  • github.com/josharian/intern v1.0.0
  • github.com/json-iterator/go v1.1.12
  • github.com/klauspost/compress v1.14.2
  • github.com/krzysztofreczek/go-structurizr v0.1.5
  • github.com/kubernetes-csi/csi-test/v4 v4.3.0
  • github.com/lann/builder v0.0.0-20180802200727-47ae307949d0
  • github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0
  • github.com/lib/pq v1.10.4
  • github.com/luna-duclos/instrumentedsql v1.1.3
  • github.com/luna-duclos/instrumentedsql/opentracing v0.0.0-20201103091713-40d03108b6f4
  • github.com/magiconair/properties v1.8.5
  • github.com/mailru/easyjson v0.7.6
  • github.com/mattn/go-colorable v0.1.12
  • github.com/mattn/go-isatty v0.0.14
  • github.com/mattn/go-runewidth v0.0.13
  • github.com/mattn/go-sqlite3 v2.0.3+incompatible
  • github.com/mattn/go-tty v0.0.3
  • github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369
  • github.com/mitchellh/mapstructure v1.4.3
  • github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6
  • github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd
  • github.com/modern-go/reflect2 v1.0.2
  • github.com/nats-io/nats.go v1.13.0
  • github.com/nats-io/nkeys v0.3.0
  • github.com/nats-io/nuid v1.0.1
  • github.com/nxadm/tail v1.4.8
  • github.com/onsi/ginkgo v1.16.4
  • github.com/onsi/gomega v1.16.0
  • github.com/opencontainers/go-digest v1.0.0
  • github.com/opencontainers/image-spec v1.0.2
  • github.com/opencontainers/runc v1.0.2
  • github.com/opentracing-contrib/go-grpc v0.0.0-20210225150812-73cb765af46e
  • github.com/opentracing-contrib/go-stdlib v1.0.0
  • github.com/opentracing/opentracing-go v1.2.0
  • github.com/ory/dockertest/v3 v3.8.1
  • github.com/ory/kratos-client-go v0.5.5-alpha.4
  • github.com/pelletier/go-toml v1.9.4
  • github.com/pierrec/lz4 v2.6.1+incompatible
  • github.com/pingcap/errors v0.11.5-0.20201126102027-b0a155152ca3
  • github.com/pkg/errors v0.9.1
  • github.com/pkg/term v1.2.0-beta.2
  • github.com/pmezard/go-difflib v1.0.0
  • github.com/prometheus/client_golang v1.12.1
  • github.com/prometheus/client_model v0.2.0
  • github.com/prometheus/common v0.32.1
  • github.com/prometheus/procfs v0.7.3
  • github.com/pterm/pterm v0.12.36
  • github.com/rabbitmq/amqp091-go v1.3.0
  • github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475
  • github.com/rivo/uniseg v0.2.0
  • github.com/robfig/cron/v3 v3.0.1
  • github.com/russross/blackfriday/v2 v2.1.0
  • github.com/sirupsen/logrus v1.8.1
  • github.com/spf13/afero v1.6.0
  • github.com/spf13/cast v1.4.1
  • github.com/spf13/cobra v1.3.0
  • github.com/spf13/jwalterweatherman v1.1.0
  • github.com/spf13/pflag v1.0.5
  • github.com/spf13/viper v1.10.1
  • github.com/srikrsna/protoc-gen-gotag v0.6.2
  • github.com/stretchr/testify v1.7.0
  • github.com/subosito/gotenv v1.2.0
  • github.com/syndtr/goleveldb v1.0.1-0.20190318030020-c3a204f8e965
  • github.com/twmb/murmur3 v1.1.5
  • github.com/uber/jaeger-client-go v2.29.1+incompatible
  • github.com/uber/jaeger-lib v2.4.1+incompatible
  • github.com/vmihailenco/go-tinylfu v0.2.2
  • github.com/vmihailenco/msgpack/v5 v5.3.4
  • github.com/vmihailenco/tagparser/v2 v2.0.0
  • github.com/xdg-go/pbkdf2 v1.0.0
  • github.com/xdg-go/scram v1.1.0
  • github.com/xdg-go/stringprep v1.0.2
  • github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f
  • github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415
  • github.com/xeipuuv/gojsonschema v1.2.0
  • github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778
  • github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d
  • github.com/yuin/gopher-lua v0.0.0-20210529063254-f4c35e4016d9
  • go.etcd.io/etcd/api/v3 v3.5.2
  • go.etcd.io/etcd/client/pkg/v3 v3.5.2
  • go.etcd.io/etcd/client/v3 v3.5.2
  • go.mongodb.org/mongo-driver v1.8.3
  • go.opencensus.io v0.23.0
  • go.uber.org/atomic v1.9.0
  • go.uber.org/automaxprocs v1.4.0
  • go.uber.org/goleak v1.1.12
  • go.uber.org/multierr v1.7.0
  • go.uber.org/zap v1.21.0
  • golang.org/x/crypto v0.0.0-20220128200615-198e4374d7ed
  • golang.org/x/exp v0.0.0-20210916165020-5cb4fee858ee
  • golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd
  • golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8
  • golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
  • golang.org/x/sys v0.0.0-20220204135822-1c1b9b1eba6a
  • golang.org/x/term v0.0.0-20210927222741-03fcf44c2211
  • golang.org/x/text v0.3.7
  • google.golang.org/api v0.68.0
  • google.golang.org/appengine v1.6.7
  • google.golang.org/genproto v0.0.0-20220208230804-65c12eb4c068
  • google.golang.org/grpc v1.44.0
  • google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.2.0
  • google.golang.org/protobuf v1.27.1
  • gopkg.in/DATA-DOG/go-sqlmock.v1 v1.3.0
  • gopkg.in/ini.v1 v1.66.2
  • gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7
  • gopkg.in/yaml.v2 v2.4.0
  • gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
  • k8s.io/apimachinery v0.22.1
  • k8s.io/klog/v2 v2.30.0
  • k8s.io/kubernetes v1.23.3
  • k8s.io/mount-utils v0.22.1
  • k8s.io/utils v0.0.0-20220127004650-9b3446523e65
  • sigs.k8s.io/yaml v1.3.0
go.sum go
  • 2381 dependencies