gitextract_l4ew9fl9/ ├── .gitignore ├── README.md ├── bluebell/ │ ├── .air.conf │ ├── Makefile │ ├── conf/ │ │ └── config.yaml │ ├── controller/ │ │ ├── code.go │ │ ├── request.go │ │ ├── response.go │ │ ├── user.go │ │ └── validator.go │ ├── dao/ │ │ ├── mysql/ │ │ │ ├── mysql.go │ │ │ └── user.go │ │ └── redis/ │ │ └── redis.go │ ├── go.mod │ ├── go.sum │ ├── logger/ │ │ └── logger.go │ ├── logic/ │ │ └── user.go │ ├── main.go │ ├── middlewares/ │ │ └── auth.go │ ├── models/ │ │ ├── create_table.sql │ │ ├── params.go │ │ └── user.go │ ├── pkg/ │ │ ├── jwt/ │ │ │ └── jwt.go │ │ └── snowflake/ │ │ └── snowflake.go │ ├── router/ │ │ └── route.go │ └── setting/ │ └── setting.go ├── docker_demo/ │ ├── Dockerfile │ ├── Dockerfile.back │ ├── go.mod │ └── main.go ├── flag_demo/ │ ├── args_demo.go │ ├── flag_demo │ ├── flag_demo.go │ └── go.mod ├── gin_demo/ │ ├── go.mod │ ├── go.sum │ └── main.go ├── json_demo/ │ ├── go.mod │ ├── go.sum │ ├── index.html │ ├── json_demo.go │ └── main.go ├── lesson23/ │ └── bluebell/ │ ├── .air.conf │ ├── Makefile │ ├── conf/ │ │ └── config.yaml │ ├── controller/ │ │ ├── code.go │ │ ├── community.go │ │ ├── post.go │ │ ├── request.go │ │ ├── response.go │ │ ├── user.go │ │ └── validator.go │ ├── dao/ │ │ ├── mysql/ │ │ │ ├── community.go │ │ │ ├── error_code.go │ │ │ ├── mysql.go │ │ │ └── user.go │ │ └── redis/ │ │ └── redis.go │ ├── go.mod │ ├── go.sum │ ├── logger/ │ │ └── logger.go │ ├── logic/ │ │ ├── community.go │ │ └── user.go │ ├── main.go │ ├── middlewares/ │ │ └── auth.go │ ├── models/ │ │ ├── community.go │ │ ├── create_table.sql │ │ ├── params.go │ │ ├── post.go │ │ ├── struct_test.go │ │ └── user.go │ ├── pkg/ │ │ ├── jwt/ │ │ │ └── jwt.go │ │ └── snowflake/ │ │ └── snowflake.go │ ├── router/ │ │ └── route.go │ └── setting/ │ └── setting.go ├── lesson28/ │ └── bluebell/ │ ├── .air.conf │ ├── Makefile │ ├── conf/ │ │ └── config.yaml │ ├── controller/ │ │ ├── code.go │ │ ├── community.go │ │ ├── post.go │ │ ├── request.go │ │ ├── response.go │ │ ├── user.go │ │ └── validator.go │ ├── dao/ │ │ ├── mysql/ │ │ │ ├── community.go │ │ │ ├── error_code.go │ │ │ ├── mysql.go │ │ │ ├── post.go │ │ │ └── user.go │ │ └── redis/ │ │ └── redis.go │ ├── go.mod │ ├── go.sum │ ├── logger/ │ │ └── logger.go │ ├── logic/ │ │ ├── community.go │ │ ├── post.go │ │ └── user.go │ ├── main.go │ ├── middlewares/ │ │ └── auth.go │ ├── models/ │ │ ├── community.go │ │ ├── create_table.sql │ │ ├── params.go │ │ ├── post.go │ │ ├── struct_test.go │ │ └── user.go │ ├── pkg/ │ │ ├── jwt/ │ │ │ └── jwt.go │ │ └── snowflake/ │ │ └── snowflake.go │ ├── router/ │ │ └── route.go │ └── setting/ │ └── setting.go ├── lesson35/ │ └── bluebell/ │ ├── .air.conf │ ├── Makefile │ ├── bluebell │ ├── conf/ │ │ └── config.yaml │ ├── controller/ │ │ ├── code.go │ │ ├── community.go │ │ ├── post.go │ │ ├── request.go │ │ ├── response.go │ │ ├── user.go │ │ ├── validator.go │ │ └── vote.go │ ├── dao/ │ │ ├── mysql/ │ │ │ ├── community.go │ │ │ ├── error_code.go │ │ │ ├── mysql.go │ │ │ ├── post.go │ │ │ └── user.go │ │ └── redis/ │ │ ├── keys.go │ │ ├── redis.go │ │ └── vote.go │ ├── go.mod │ ├── go.sum │ ├── logger/ │ │ └── logger.go │ ├── logic/ │ │ ├── community.go │ │ ├── post.go │ │ ├── user.go │ │ └── vote.go │ ├── main.go │ ├── middlewares/ │ │ └── auth.go │ ├── models/ │ │ ├── community.go │ │ ├── create_table.sql │ │ ├── params.go │ │ ├── post.go │ │ ├── struct_test.go │ │ └── user.go │ ├── pkg/ │ │ ├── jwt/ │ │ │ └── jwt.go │ │ └── snowflake/ │ │ └── snowflake.go │ ├── router/ │ │ └── route.go │ └── setting/ │ └── setting.go ├── lesson68/ │ └── bluebell/ │ ├── .air.conf │ ├── Makefile │ ├── bluebell │ ├── conf/ │ │ └── config.yaml │ ├── controller/ │ │ ├── code.go │ │ ├── community.go │ │ ├── post.go │ │ ├── request.go │ │ ├── response.go │ │ ├── user.go │ │ ├── validator.go │ │ └── vote.go │ ├── dao/ │ │ ├── mysql/ │ │ │ ├── community.go │ │ │ ├── error_code.go │ │ │ ├── mysql.go │ │ │ ├── post.go │ │ │ └── user.go │ │ └── redis/ │ │ ├── keys.go │ │ ├── post.go │ │ ├── redis.go │ │ └── vote.go │ ├── go.mod │ ├── go.sum │ ├── logger/ │ │ └── logger.go │ ├── logic/ │ │ ├── community.go │ │ ├── post.go │ │ ├── user.go │ │ └── vote.go │ ├── main.go │ ├── middlewares/ │ │ └── auth.go │ ├── models/ │ │ ├── community.go │ │ ├── create_table.sql │ │ ├── params.go │ │ ├── post.go │ │ ├── struct_test.go │ │ └── user.go │ ├── pkg/ │ │ ├── jwt/ │ │ │ └── jwt.go │ │ └── snowflake/ │ │ └── snowflake.go │ ├── router/ │ │ └── route.go │ └── setting/ │ └── setting.go ├── lesson69/ │ └── bluebell/ │ ├── .air.conf │ ├── Makefile │ ├── conf/ │ │ └── config.yaml │ ├── controller/ │ │ ├── code.go │ │ ├── community.go │ │ ├── doc_response_models.go │ │ ├── post.go │ │ ├── request.go │ │ ├── response.go │ │ ├── user.go │ │ ├── validator.go │ │ └── vote.go │ ├── dao/ │ │ ├── mysql/ │ │ │ ├── community.go │ │ │ ├── error_code.go │ │ │ ├── mysql.go │ │ │ ├── post.go │ │ │ └── user.go │ │ └── redis/ │ │ ├── keys.go │ │ ├── post.go │ │ ├── redis.go │ │ └── vote.go │ ├── docs/ │ │ ├── docs.go │ │ ├── swagger.json │ │ └── swagger.yaml │ ├── go.mod │ ├── go.sum │ ├── logger/ │ │ └── logger.go │ ├── logic/ │ │ ├── community.go │ │ ├── post.go │ │ ├── user.go │ │ └── vote.go │ ├── main.go │ ├── middlewares/ │ │ └── auth.go │ ├── models/ │ │ ├── community.go │ │ ├── create_table.sql │ │ ├── params.go │ │ ├── post.go │ │ ├── struct_test.go │ │ └── user.go │ ├── pkg/ │ │ ├── jwt/ │ │ │ └── jwt.go │ │ └── snowflake/ │ │ └── snowflake.go │ ├── router/ │ │ └── route.go │ └── setting/ │ └── setting.go ├── lesson70/ │ └── bluebell/ │ ├── .air.conf │ ├── Makefile │ ├── conf/ │ │ └── config.yaml │ ├── controller/ │ │ ├── code.go │ │ ├── community.go │ │ ├── doc_response_models.go │ │ ├── post.go │ │ ├── post_test.go │ │ ├── request.go │ │ ├── response.go │ │ ├── user.go │ │ ├── validator.go │ │ └── vote.go │ ├── dao/ │ │ ├── mysql/ │ │ │ ├── community.go │ │ │ ├── error_code.go │ │ │ ├── mysql.go │ │ │ ├── post.go │ │ │ ├── post_test.go │ │ │ └── user.go │ │ └── redis/ │ │ ├── keys.go │ │ ├── post.go │ │ ├── redis.go │ │ └── vote.go │ ├── docs/ │ │ ├── docs.go │ │ ├── swagger.json │ │ └── swagger.yaml │ ├── go.mod │ ├── go.sum │ ├── logger/ │ │ └── logger.go │ ├── logic/ │ │ ├── community.go │ │ ├── post.go │ │ ├── user.go │ │ └── vote.go │ ├── main.go │ ├── middlewares/ │ │ └── auth.go │ ├── models/ │ │ ├── community.go │ │ ├── create_table.sql │ │ ├── params.go │ │ ├── post.go │ │ ├── struct_test.go │ │ └── user.go │ ├── pkg/ │ │ ├── jwt/ │ │ │ └── jwt.go │ │ └── snowflake/ │ │ └── snowflake.go │ ├── router/ │ │ └── route.go │ └── setting/ │ └── setting.go ├── lesson77/ │ └── bluebell/ │ ├── .air.conf │ ├── Dockerfile │ ├── Dockerfile.back │ ├── Makefile │ ├── bluebell │ ├── conf/ │ │ └── config.yaml │ ├── controller/ │ │ ├── code.go │ │ ├── community.go │ │ ├── doc_response_models.go │ │ ├── post.go │ │ ├── post_test.go │ │ ├── request.go │ │ ├── response.go │ │ ├── user.go │ │ ├── validator.go │ │ └── vote.go │ ├── dao/ │ │ ├── mysql/ │ │ │ ├── community.go │ │ │ ├── error_code.go │ │ │ ├── mysql.go │ │ │ ├── post.go │ │ │ ├── post_test.go │ │ │ └── user.go │ │ └── redis/ │ │ ├── keys.go │ │ ├── post.go │ │ ├── redis.go │ │ └── vote.go │ ├── docker-compose.yml │ ├── docs/ │ │ ├── docs.go │ │ ├── swagger.json │ │ └── swagger.yaml │ ├── go.mod │ ├── go.sum │ ├── init.sql │ ├── logger/ │ │ └── logger.go │ ├── logic/ │ │ ├── community.go │ │ ├── post.go │ │ ├── user.go │ │ └── vote.go │ ├── main.go │ ├── middlewares/ │ │ ├── auth.go │ │ └── ratelimit.go │ ├── models/ │ │ ├── community.go │ │ ├── create_table.sql │ │ ├── params.go │ │ ├── post.go │ │ ├── struct_test.go │ │ └── user.go │ ├── pkg/ │ │ ├── jwt/ │ │ │ └── jwt.go │ │ └── snowflake/ │ │ └── snowflake.go │ ├── router/ │ │ └── route.go │ ├── setting/ │ │ └── setting.go │ ├── static/ │ │ ├── css/ │ │ │ └── app.6310b918.css │ │ └── js/ │ │ ├── app.ea0d453e.js │ │ └── chunk-vendors.57f9e9d6.js │ ├── templates/ │ │ └── index.html │ └── wait-for.sh ├── lesson80/ │ └── bluebell/ │ ├── .air.conf │ ├── .gitignore │ ├── Dockerfile │ ├── Dockerfile.back │ ├── Makefile │ ├── README.md │ ├── bin/ │ │ └── .gitkeep │ ├── conf/ │ │ └── config.yaml │ ├── controller/ │ │ ├── code.go │ │ ├── community.go │ │ ├── doc_response_models.go │ │ ├── post.go │ │ ├── post_test.go │ │ ├── request.go │ │ ├── response.go │ │ ├── user.go │ │ ├── validator.go │ │ └── vote.go │ ├── dao/ │ │ ├── mysql/ │ │ │ ├── community.go │ │ │ ├── error_code.go │ │ │ ├── mysql.go │ │ │ ├── post.go │ │ │ ├── post_test.go │ │ │ └── user.go │ │ └── redis/ │ │ ├── keys.go │ │ ├── post.go │ │ ├── redis.go │ │ └── vote.go │ ├── docker-compose.yml │ ├── docs/ │ │ ├── docs.go │ │ ├── swagger.json │ │ └── swagger.yaml │ ├── go.mod │ ├── go.sum │ ├── logger/ │ │ └── logger.go │ ├── logic/ │ │ ├── community.go │ │ ├── post.go │ │ ├── user.go │ │ └── vote.go │ ├── main.go │ ├── middlewares/ │ │ ├── auth.go │ │ └── ratelimit.go │ ├── models/ │ │ ├── community.go │ │ ├── create_table.sql │ │ ├── params.go │ │ ├── post.go │ │ ├── struct_test.go │ │ └── user.go │ ├── nginx.conf │ ├── nginx2.conf │ ├── pkg/ │ │ ├── jwt/ │ │ │ └── jwt.go │ │ └── snowflake/ │ │ └── snowflake.go │ ├── router/ │ │ └── route.go │ ├── setting/ │ │ └── setting.go │ ├── sql/ │ │ ├── bluebell_community.sql │ │ ├── bluebell_post.sql │ │ ├── bluebell_user.sql │ │ └── init.sql │ ├── static/ │ │ ├── css/ │ │ │ └── app.0afe9dae.css │ │ └── js/ │ │ ├── app.9f3efa6d.js │ │ └── chunk-vendors.57f9e9d6.js │ ├── templates/ │ │ └── index.html │ └── wait-for.sh ├── mysql_demo/ │ ├── go.mod │ ├── go.sum │ └── main.go ├── ratelimit_demo/ │ ├── go.mod │ ├── go.sum │ └── main.go ├── redis_demo/ │ ├── go.mod │ ├── go.sum │ ├── main.go │ └── new.go ├── shutdown_demo/ │ ├── go.mod │ ├── go.sum │ └── main.go ├── sqlx_demo/ │ ├── go.mod │ ├── go.sum │ └── main.go ├── swagger_demo/ │ ├── docs/ │ │ ├── docs.go │ │ ├── swagger.json │ │ └── swagger.yaml │ ├── go.mod │ ├── go.sum │ ├── main.go │ └── swagger_demo ├── viper_demo/ │ ├── config.yaml │ ├── go.mod │ ├── go.sum │ └── main.go ├── web_app/ │ ├── config.yaml │ ├── dao/ │ │ ├── mysql/ │ │ │ └── mysql.go │ │ └── redis/ │ │ └── redis.go │ ├── go.mod │ ├── go.sum │ ├── logger/ │ │ └── logger.go │ ├── main.go │ ├── routes/ │ │ └── routes.go │ ├── settings/ │ │ └── settings.go │ └── web_app ├── web_app2/ │ ├── config.json │ ├── config.yaml │ ├── dao/ │ │ ├── mysql/ │ │ │ └── mysql.go │ │ └── redis/ │ │ └── redis.go │ ├── go.mod │ ├── go.sum │ ├── logger/ │ │ └── logger.go │ ├── main.go │ ├── routes/ │ │ └── routes.go │ ├── settings/ │ │ └── settings.go │ └── web_app └── zap_demo/ ├── go.mod ├── go.sum └── main.go