If we did initialize the project then run
go mod init github.com/ngodup/simplebank
Section 1: Working with database [Postgres + SQLC]
- Lesson 1 : Design DB schema and generate SQL code with dbdiagram.io10min
- Lesson 4: Use Docker + Postgres + TablePlus to create DB schema13min
- Lesson 5 : How to write & run database migration in Golang
- Lesson 6: Generate CRUD Golang code from SQL | Compare db/sql, gorm, sqlx & sqlc
- Lesson 7: Write unit tests for database CRUD with random data in Golang
- Lesson 8: A clean way to implement database transaction in Golang
- Lesson 9: DB transaction lock & How to handle deadlock in Golang
- Lesson 10 How to avoid deadlock in DB transaction? Queries order matters!
- Lesson 12: Setup Github Actions for Golang + Postgres to run automated tests
Section 2: Building RESTful HTTP JSON API [Gin + JWT + PASETO]
- Lession 13: Implement RESTful HTTP API in Go using Gin
- Lesson 14. Load config from file & environment variables in Go with Viper
- Lesson 15. Mock DB for testing HTTP API in Go and achieve 100% coverage
- Lesson 16 Implement transfer money API with a custom params validator
- Lesson 17 Tutorial: Adding Users Table with Unique & Foreign Key Constraints in PostgreSQL
- Lesson 18. How to handle DB errors in Golang correctly
- Lesson 19. Securely Storing User Passwords with bcrypt in Golang
- Lesson 20. Writing Stronger weewith Custom GoMock Matchers
- Lesson 21. Why PASETO is better than JWT for token-based authentication?
- Lesson 22 : How to Create and Verify JWT & PASETO Tokens in Golang
- Lesson 23 – Implement Login User API with PASETO/JWT Access Tokens in Go
- Lesson 24 Implement authentication middleware and authorization rules in Golang using Gin
Section 3: Deploying the application to production [Docker + Kubernetes + AWS]