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
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
Metadata Files
README.md
High Level Architecture 🚀

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

- Import Postman link for test HTTP API
- Swagger docs
Support HTTP REST API:
- HTTP (chi)
- gRPC-gateway
- GraphQL
- Optional
- go-kit
- CloudEvents
MQ
OpenTracing

Cloud-Native
- Development
- Skaffold
- Telepresence
- Logger
- Loki
- DataDog
- Prometheus
- prometheus-operator
- notify: slack, email, telegram
- HealthCheck
- Support K8S
- Helm Chart
- pingcap/chaos-meshh
- Minikube
- Backup/Restore (Velero)
- Custom CSI driver (fork csi-driver-host-pat)
- Istio
- MetalLB
- kyverno - Kubernetes Native Policy Management
- DataBase
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
Mobile
Hello Worldon 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
- Repositories: 2
- Profile: https://github.com/AAAAAXfda-zz
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
- 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
- 2381 dependencies