Giter VIP home page Giter VIP logo

ngtrdai197 / url-shortener Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 3.0 1.14 MB

Build url shortening service, and simple dashboard for display purpose would be ReactJs :rocket:

Go 10.26% JavaScript 3.34% HTML 0.19% TypeScript 48.37% SCSS 4.18% Makefile 0.67% Dockerfile 0.77% Shell 1.76% EJS 0.92% Python 0.02% Mustache 28.77% Smarty 0.76%
golang reactjs twitter-snowflake unique-id-generator nestjs postgres python

url-shortener's Introduction

Url Shortener ๐ŸŽ‰

All Contributors

Build a service for shortening url, idea will generate a unique ID (Twitter snowflake) and convert that unique id (base10) to base64

  • Backend service: Golang (1.20) - README
  • Telegram Notify service: Golang (1.20) - README
  • Expiration service: Python - README
  • Auth service: Nodejs - README
  • Frontend: ReactJs (18.2.0) - README

Setup

  • Build images
# Build auth service
$ cd ./auth && docker build -t auth-service -f Dockerfile .

# Build core service
$ cd ./backend && docker build -t core-service -f Dockerfile .
  • Install helm chart
# Auth service
$ cd ./infra/auth-service && helm install auth-service . -f values.yaml
# Postgresql DB
$ cd ./postgresql && helm install postgresql-db . -f values.yaml
# To get the password for "postgres" run:
$ export POSTGRES_PASSWORD=$(kubectl get secret --namespace default postgresql -o jsonpath="{.data.postgres-password}" | base64 -d)

# Display password
$ env | grep POSTGRES_PASSWORD

# To connect to your database from outside the cluster execute the following commands:
$ kubectl port-forward --namespace default svc/postgresql-db 5432:5432 &
    PGPASSWORD="$POSTGRES_PASSWORD" psql --host 127.0.0.1 -U postgres -d url_shortener -p 5432
  • Exec pod
# Example exec pod of auth service
$ kubectl exec -it {pod name} -- sh
  • For test, but without setup Kong Gate. We need forwarding port to check, example for auth service
$ make forwardport

The project is still in progress (WIP ๐Ÿš€)

Contributors โœจ

Thanks goes to these wonderful people (emoji key):

Dai Nguyen
Dai Nguyen

๐Ÿ’ป
toannt97
toannt97

๐Ÿ’ป

This project follows the all-contributors specification. Contributions of any kind welcome!

url-shortener's People

Contributors

4dvn-toannt avatar allcontributors[bot] avatar ngtrdai197 avatar toannt97 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

toannt97 toannd96

url-shortener's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.