https://github.com/pickhd/singkatin-revamp
Revamped URL Shortener API's using Golang
https://github.com/pickhd/singkatin-revamp
caching echo-framework fiber-framework gin-framework golang grpc jaeger-tracing jaeger-ui messaging-queues microservices proto3 protobuff rabbitmq redis restful-api swagger-codegen swagger-ui url-shortener-microservice
Last synced: 2 months ago
JSON representation
Revamped URL Shortener API's using Golang
- Host: GitHub
- URL: https://github.com/pickhd/singkatin-revamp
- Owner: PickHD
- License: mit
- Created: 2023-05-03T02:12:50.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-07-03T00:42:07.000Z (over 2 years ago)
- Last Synced: 2025-06-12T09:59:25.872Z (7 months ago)
- Topics: caching, echo-framework, fiber-framework, gin-framework, golang, grpc, jaeger-tracing, jaeger-ui, messaging-queues, microservices, proto3, protobuff, rabbitmq, redis, restful-api, swagger-codegen, swagger-ui, url-shortener-microservice
- Language: Go
- Homepage:
- Size: 360 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# singkatin-revamp
Revamped [Last Projects URL Shortener API's](https://github.com/PickHD/singkatin-api) using Golang.
## Architect Overview :

## Whats Changed? :
1. From Monolith to Microservices
2. Scalable & Maintainable Codes
3. Become Asynchronous Operation using Messaging Queues (RabbitMQ)
4. From SQL to NoSQL
5. Using RPC for service interactions
## Main Features :
1. Register
2. Login
3. Reset Password
4. User Profiles
5. User Dashboard (can analyze how much visitor / users click the short links)
6. Shortener Link Redirect
## Tech Used :
1. Golang _(Every services using different framework due experimenting performances.)_
2. MongoDB
3. Redis
4. RabbitMQ
5. GRPC
6. Docker
7. Jaeger
8. MinIO Storage
## Prerequisites :
1. Make sure Docker & Docker Compose already installed on your machine
2. Rename `example.env` to `.env` on folder `./cmd/v1` every services
3. Make sure to uncheck comment & fill your **SMTP configuration** on auth env
## Setup :
1. To build all services, run command :
```
make build
```
2. You can build & run all services in background using command :
```
make run
```
3. If you want to stop all services then run :
```
make stop
```
4. Last if want to stop & remove entire services then run :
```
make remove
```