Heyyo omaetachi, this opportunity I will make a project to learn about microservices. In short this project is about a library system named Alpha. It consists of 3 services namely book, order, and user service. Each service sends notifications to each other via a message broker, and is centralized to one point, namely the api gateway using nginx.
| Feature | Status |
|---|---|
| Authentication | ✔️ |
| Message Broker | ✔️ |
| Book | ✔️ |
| User | ✔️ |
| Dockerize | ✔️ |
| API Gateway | ✔️ |
| Frontend | Ongoing |
| Pipeline | Ongoing |
| Order | ✔️ |
| Kurbenetes | Ongoing |
| Monitoring | Ongoing |
Docker- Main tools to build this projectGolang- The progamming language i use to build order service and book servicesJavascript- The programming language i use to build user-servicesNginx- API Gateway I used to build this projectGorm- Framework i use to client for database mysqlSequelize- Framework for javascript to client database mysqlMysql- The main database for this projectGin-Gonic- Framework for golang web applicationExpress- Framework for javascript web application
This project is ongoing, and will continue to be updated at any time. For now there are 2 services namely user and book. For installation is quite easy
First, installastion kurbenetes if u want use it
alpha@chentauri:~$ sudo adduser kurbenetes
alpha@chentauri:~$ sudo usermod -aG sudo kurbenetes
alpha@chentauri:~$ su kurbenetes
alpha@chentauri:~$ sudo apt install docker docker.io docker-compose -yStep 2: Install k8s with wget
alpha@chentauri:~$ sudo wget https://github.com/kubernetes/minikube/releases/download/v1.24.0/minikube-linux-amd64
alpha@chentauri:~$ sudo mv minikube-linux-amd64 minikubeStep 3: Change Permission minikube n save to /usr/local/bin/minukube
alpha@chentauri:~$ sudo mv minikube /usr/local/bin/minikubeStep 4: Configure kubectl
alpha@chentauri:~$ sudo curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
alpha@chentauri:~$ sudo chmod +x kubectl
alpha@chentauri:~$ sudo mv kubectl /user/local/bin/kubectlStep 5: minikube can start n you can see detail
alpha@chentauri:~$ minikube start
* minikube v1.24.0 on Debian 10.2
* Using the docker driver based on existing profile
X The requested memory allocation of 1970MiB does not leave room for system overhead (total system memory: 1970MiB). You may face stability issues.
* Suggestion: Start minikube with less memory allocated: 'minikube start --memory=1970mb'
---
alpha@chentauri:~$ kubectl version
Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.3", GitCommit:"c92036820499fedefec0f847e2054d824aea6cd1", GitTreeState:"clean", BuildDate:"2023-25-27T18:41:28Z", GoVersion:"go1.16.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.3", GitCommit:"c92036820499fedefec0f847e2054d824aea6cd1", GitTreeState:"clean", BuildDate:"2023-25-27T18:35:25Z", GoVersion:"go1.16.9", Compiler:"gc", Platform:"linux/amd64"}If you install from docker you can must do this
alpha@chentauri:~$ sudo git clone https://github.com/rulanugrh/alpha
alpha@chentauri:~$ chmod +x install
alpha@chentauri:~$ ./install appI learning by opinion public, so if you have something opinion you can create issue, thanks :u


