shortlink

module
v0.0.0-...-36d8597 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 3, 2023 License: MIT

README ¶

Shortlink is an open-source project that provides a pretty user interface and respects GDPR.
We use edge technologies and have many years of experience.

We're constantly researching the best solutions on the market so that we can benefit
our community and solve a problem for millions of people.

PkgGoDev codecov Go Report Card Releases LICENSE CII Best Practices StackShare FOSSA Status


High Level Architecture 🚀

shortlink-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.

Techradar

shortlink-techradar

Services
Service Description Language/Framework Docs
api Internal GateWay Go docs
billing Billing service Go docs
bot Telegram bot JAVA docs
chat Chat service Elixir (Phoenix) docs
chrome-extension Chrome extension JavaScript docs
shortdb Custom database Go docs
shortdb-operator Kubernetes Operator for shortdb database Go docs
csi CSI example Go docs
link Link service Go docs
logger Logger service Go docs
merch Merch store Coming soon docs
metadata Parser site by API Go docs
newsletter Newsletter service Rust docs
notify Send notify to smtp, slack, telegram Go docs
proxy Proxy service for redirect to original URL TypeScript docs
referral Referral program Python docs
search Search service Coming soon docs
shortctl Shortlink CLI Go docs
stats Stats server CPP docs
support Support service PHP docs
wallet Wallet service Go (Solidity) docs
ws Webscoket service Go docs
Third-party Service
Service Description Language/Framework Docs
ory/kratos User management service Go docs
ory/hydra OAuth 2.0 Provider 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.21+)
For run
make minikube-up
make helm-shortlink-up
For down
make minikube-down
For run
make skaffold-init
make skaffold-up
For down
make skaffold-down
Debug mode
make skaffold-debug

Configuration
DETAILS

View ENV Variables

OpenTracing
DETAILS

http_add_link

UI
Service Description Language/Framework Docs
landing Welcome page JS/NextJS docs
next UI service JS/NextJS docs
ui-kit UI kit for ShortLink JS/React docs
MQ
Kafka RabbitMQ NATS
Cloud-Native stack
  • Development
  • Security
    • SOPS
  • HealthCheck
  • Support K8S
  • MetalLB
  • kyverno - Kubernetes Native Policy Management
  • Storage
    • rook-ceph
      • ceph cluster (3 node)
      • grafana dashboard
      • prometheus metrics
  • Ingress (Gateway)
    • Istio
      • kiali - The Console for Istio Service Mesh
    • Nginx
    • Traefik
Observability
  • Prometheus - Monitoring system
    • prometheus-operator
      • notify: slack, email, telegram

  • Grafana stack (LGTM)

    • Grafana, the open and composable observability and data visualization platform.
    • Loki, like Prometheus, but for logs.
    • Tempo, a high volume, high throughput distributed tracing system.
    • Grafana, the open and composable observability and data visualization platform.
    • OnCall - On-call scheduling
    • Phlare - Profiling and flame graphs
Mobile
  • Hello World on flutter ;-)
CI/CD
GitLab CI GitHub CI ArgoCD
License

FOSSA Status

Directories ¶

Path Synopsis
docs
api
Package api GENERATED BY SWAG; DO NOT EDIT This file was generated by swaggo/swag
Package api GENERATED BY SWAG; DO NOT EDIT This file was generated by swaggo/swag
internal
di
Main DI-package
Main DI-package
di/pkg/config
Config package
Config package
pkg/batch
Package for work in batch mode
Package for work in batch mode
pkg/db
Data Base package
Data Base package
pkg/eventsourcing/store
Billing Service.
Billing Service.
pkg/freeport
Get free port
Get free port
pkg/logger
Logger
Logger
pkg/mq/v1
Message Queue
Message Queue
pkg/notify
Notify system
Notify system
pkg/traicing
Tracing wrapping
Tracing wrapping
services/api/application/grpc_web/v1
Package v1 is a reverse proxy.
Package v1 is a reverse proxy.
services/billing/cmd
Shortlink application
Shortlink application
Billing Service.
Link Service.
services/link/cmd
Shortlink application
Shortlink application
Link entity
Store Endpoint
Store Endpoint
Store Endpoint
services/logger/cmd
Shortlink application
Shortlink application
services/metadata/application
Metadata Service.
Metadata Service.
services/metadata/cmd
Metadata application
Metadata application
Metadata Service.
Metadata Service.
services/shortctl
CLI tooling
CLI tooling
pkg
c4
rpc
shortdb/io_uring
Package io_uring implements a high-level Go wrapper to perform file read/write operations using liburing.
Package io_uring implements a high-level Go wrapper to perform file read/write operations using liburing.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL