LendMySpace API

Learning Objectives

  • Implement Domain Driven Architecture
  • Push the image to ECR and deploy on EKS through Github Actions

Tech stack

  • Golang
  • PostgreSQL
  • AWS ECR/EKS

Core dependency

  • sqlx
    • Database entity mapping
  • viper
    • Manage configuration
  • model
    • DTO & entity mapping

Structure

Make command

  • createdb
    • create lendmyspace db in lendmyspace_postgres container
  • drop db
    • drop lendmyspace db
  • migrateup
    • migrate up (golang-migrate)
  • migrateup1
    • migrate up 1 step
  • migratedown
    • migrate down
  • migratedown1
    • migrate down 1 step
  • postgres
    • run postgres container
  • test
    • run all tests
  • server
    • run the server locally

Design and Planning Docs

Semantic Commit messages

  • feat: ⚡ new feature
  • fix: 🐛 fix bug
  • refactor: 🔨 refactor code