Skip to content

Commit

Permalink
Merge branch 'main' of github.com:hafizxd/micro-bank
Browse files Browse the repository at this point in the history
  • Loading branch information
hafizxd committed Feb 23, 2024
2 parents 07c8baf + d1b1ff0 commit 1380145
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
- Build gRPC APIs
- Embedding Swagger as part of the backend service
- Writing logger HTTP middlewares and gRPC interceptors
- Build asynchronous processing with background workers and Redis as its message queue
- 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 1380145

Please sign in to comment.