Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
hafizxd committed Feb 18, 2024
1 parent 5bc6c8b commit 3e1c70f
Showing 1 changed file with 15 additions and 6 deletions.
21 changes: 15 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,17 @@
# Micro Bank
An application with simple ideas about managing and transfer balance, with the purpose of learning all Go ecosystem and development flow correctly from start to end including Preventing DB Deadlock, Generating Query, Developing Web Server, Dockerizing, Implement CI/CD, Deploying to AWS, Containerization with Kubernetes, Expanse into Microservices with gRPC Protobuf, and Managing and Caching Jobs with Redis.
Providing APIs for the frontend to do the following things:
- Create and manage bank accounts.
- Record all balance changes to each of the accounts.
- Perform a money transfer between 2 accounts.

### Project Structure :
- api: code that handles web server including router, handler, middleware
- db: all interaction with database including migration, mocking, and sqlc query
- token: responsible for generating and validating access token
- util: utilities that would be used within application
With the purpose of learning different topics regarding Backend Development such as:
- Understanding the DB isolation levels
- Use Docker for local development
- Build RESTful HTTP APIs using Gin. This includes loading app configs, mocking DB unit tests, handling errors, authenticating users, authorizing with JWT and PASETO, and managing refresh token
- Build app with Docker and deploy it to a production Kubernetes cluster on AWS. Also using GitHub Action to automatically build and deploy the image to the EKS cluster
- Building gRPC APIs
- Embedding Swagger documentation as part of the backend service
- Writing structured logger HTTP middlewares and gRPC interceptors
- Build asynchronous processing in Golang using background workers and Redis as its message queue
- Create and send emails to users via Gmail SMTP server
- Writing unit tests for gRPC services that might involve mocking multiple dependencies at once

0 comments on commit 3e1c70f

Please sign in to comment.