glean is a sample core application that implements clean architecture by golang.
d-angelo-2049 / glean Goto Github PK
View Code? Open in Web Editor NEWglean is a sample core application that implements clean architecture by golang.
glean is a sample core application that implements clean architecture by golang.
まずはbaseの設計を考える。
各モジュールや登場人物の整理と依存の方向などを決める
request をもらってからresponseするまでの流れも一度整理して図などに盛り込む。
作業成果物はwikiなどに上げておく。
v1では今の所redisのみサポートする予定だが
いずれはあらゆるresourceをinfra/framework層で定義でき、それをconfigurableな形にしておくのが理想である。
そのため、interface層にてどのresourceにつなぎこむかを柔軟に対応できるような仕組みを提供したい。
app の設定値などを 外からさせるようにしたい。
hocon なのか yaml なのかをconfiguration して 動作させたい。
後々e2eなどを通す上で、 httpd + app server + redis server みたいにしたい。
local でも testを通したいので、 docker-composeで環境を整備したい。
ciでbuildかつtestを行いたい。
以前travis ciを使っていたが、今回はgithub actionsでやりたいなと少し思っている。
glean の基本package 構成を決めたい
一般的なgoのweb app はどうしてるのかなども気になる。
単純なCRUDを実装する。
domain層のentityやmodelをどうするかは別途考える。
せっかくpackage名もlogoもそれっぽいものにしたので意味のあるattributeを設定したい
現状glean本体に clean に則ったsample appを載せていく。
しかし、app固有のロジックとframeworkとして提供スべきことの境界が見えてくるはずである。
その場合、別途別moduleに切り出すのか
またはglean-sampleのようなものを作るのかをいずれやる
redisのサポート
簡易的なstorageとしてredisに保存するようにしたい。
いずれやりたい
inputを gPRCでhttp v2対応とかしたい
rest client はginでやる
v1に入れる。
awsのsdkにも対応させたい。
どれをどうするかなどは未確定だが
awsにはDynamoDb Localなどの公式が配布している local専用のmockerが存在する。
goはservlet containerを必要としないのでhttpdとの関係はどうなのだろう
単純にnginxとかだと思うがその辺りの設定はgleanの範疇なのか別packageなのか調査する。
https://stackoverflow.com/questions/62065326/can-i-deploy-a-go-project-in-tomcat
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.