Overview
This is a project for applying my first intern job at Dcard Taiwan Ltd. !!!
Backend documentation link
Company Requirements
Tech Stack
- Using Golang Gin framework to build api
- Using postgresSQL for relational database
- Using redis for caching database
- Deploy database and backend server on Google Kubernetes Engine
-
Github Actions for CI / CD
- Implement semantic versioning with git
Features
- Deploy backend service on GKE 3-Nodes distributed systems
- Deploy databases on GKE 3-Nodes distributed systems
- Handling invalid access and simultaneously access by caching
- Automatically unit testing in CI/CD workflow using github action
- Improve CI/CD efficiency with pipeline workflow
- Automatically semantic versioning in CI/CD workflow base on git label
- DNS and proxy server configuration using cloudflare
Detail explanation
How do I design my backend system architecture ?
How do I handle simultaneously access and non-existed-url access with cache ?
Why do I choose Gin framework and how do I handle error in it?
How do I integrate both versioning process and unit tests into CI/CD process ?
How do I implement unit tests ?
Future TODO list