I spent 2-3 days designing the most tryhard, over the top golang monorepo. Only to end up converging to a really simple structure. I used to dislike doing that before I really knew how to program, but it's actually a pretty exercise to do from time to time. I realized structuring a project is sort of similar to defining an interface. But I might end up checking some of these scaffolding type tools out next time I make a project. Seems pretty convenient.
- Option to select multiple database would be good like i can choose redis and sqlite together to use redis for caching and sqlite for normal db use cases. - Also i would like more options for dbs like valkey and some kind of vector database
Thank you Ive been struggling with finding a "good" way to structure my project and most of the others structures i found were too complex for me because i am still a beginner with go.However this way is way too simpler and easy to understand
Nice, I've still to check the code created, but: redis is missing from the webUI and (just like sametrise underlined) more than one single db could be used on the destination project.
Hi @MelkeyDev What a great initiative. One less thing to figure out... It would be great if provision can also be made for a monorepo setup, where a couple of projects need to be accommodated, like say and API, workflow implementations, web apps etc. It is still very useful!
The most efficient structure is to keep everything in a root folder and only create new ones when absolutely necessary Then you’ll realize there’s no silver bullet-each project needs its own structure that fits Sure, examples can be useful, even the bad ones
Hi and thanks for this tutorial. However, I am having one issue. All changes I made to the .env file are not loaded in the go application. It's still using the original property values that came by default. How can I resolve this please?
@@MelkeyDev thanks for your response. I have been on this for hours. I tried calling this in main.go: godotenv.Overload() and then the new values were read but after removing this, the issue persist. Is there kind of cache I am not aware of?
Hi, I used this tool (go beginner here) Nothing is running both make run, air, even a build of go and running the main.exe retuns nothing. I dont want to use docker
Would also be nice to add ability to add multiple projects with shared libraries for use in a monorepo with separate Dockerfile for each project to build separately with it being GitHub Actions aware.
Hello I have a problem using go-blueprint... I init project with chi + mongo. Run 'make docker-up' (check if mongo is initialized - no problem). But when I try to run 'make run' nothing happens. Not even a single line in terminal output. Any suggestions? Tried to google some similar problems but nothing poped up. I even commented db initialization (thought something wrong can be happening here). Thanks a lot
Excellent initiative, @MelkeyDev. Congratulations! How to install on Mac M1? Could you please share a step-by-step guide or include it in the evolution of the tool?
This looks awesome! i'm not that well versed in go yet but. I would also add an option for a grpc server/consumer too. May as an option for the routing or as a whole project type like HTTP/GRPC.
isn't it better to add features as you need it. for example add docker-compose only when you ready to deploy and smth like that. I thought that minimilizm as you go what separates some kind of js development from go dev
@@MelkeyDevwell, it's just that it gives you some stuff that you don't initially need, and either you keep that without using it yet, or you just delete it. So eventually just easier to create everything gradually as you go
Amazing CLI tool. Thanks for building this. I’m using the tool to structure a project in production. Although I did had some trouble with DBTX and pgx.pool. Somehow figured things out. Maybe you could also add an option to connect with sqlc as well.
Hello melkey, hope you are doing fine, should I write my backend cms in go? Like a friend suggesting django because it is batteries included so development is faster, I am afraid that can I write secure code? (Imposter syndrome)
@@MelkeyDev a video about doing auth+sessions right (with realistic examples and more or less thorough) would also be very nice! (learning about it now and it is very hard for me to find good resources with full examples and not only superabstracted/-simplified ones)
If you’re interested in a really good book on the subject, Let’s Go (written by the creator of the scs package) which has a great chapter on auth. Makes it really easy to implement yourself and overall the book is amazing
@@ParanoidxProd thanks I will read it soon one more question do you know about more backend and testing like I want to write unit test with my code so if you know some books please recommend me thanks you so much.
This is exactly what I was looking for. Thank you! This is one of the hardest things for me to wrap my head around coming from js / dart Gosh darn you're a handsome man without that 'tache
In a world where a lot of go projects use a completely flat file structure, to me the importance of project structure seems inflated. Which didn't prevent me from using an even more complicated project layout than you 😂
@@टिरंजननकलेyeah, they added loops, functions, variables, Go is just a Java wannabe. Im afraid that they will eventually add the feature of commenting in the code
Useless. Too many bugs. Air has changed repo, checked HTMLx/Templ generates schema without templ directory, "make[1]: templ: No such file or directory make[1]: *** [Makefile:8: build] Error 127"
I hope you enjoy this video!
Comment + like - it means the world!
Man that's so freakin cool. And the CLI actually looks awesome !
@@maxwebstudio Hey thanks so much!
+sub
lets put bubble tea with wish in there too.
finally spring initializr for go
wooo? (i think?)
I thought the same thing 😂
😂😂😂
lack of something. But good to GOOOOOOO
wtf, fo real 😂
Okay, you convinced me, you're a GOAT of Go.
I spent 2-3 days designing the most tryhard, over the top golang monorepo. Only to end up converging to a really simple structure. I used to dislike doing that before I really knew how to program, but it's actually a pretty exercise to do from time to time. I realized structuring a project is sort of similar to defining an interface.
But I might end up checking some of these scaffolding type tools out next time I make a project. Seems pretty convenient.
You beat me to it, I was working on my own project scaffolding tool but your's is better. Well done! This will save a ton of time.
Planning on making any monorepo specific functionality to go-blueprint? Just curious.
Last question, are you all adding a scaffolding option for http.ServeMux? or is that already covered in the Standard Library option?
- Option to select multiple database would be good like i can choose redis and sqlite together to use redis for caching and sqlite for normal db use cases.
- Also i would like more options for dbs like valkey and some kind of vector database
How do you have your tests in a separate directory? Go gets mad if I import anything in a test file.
Thank you Ive been struggling with finding a "good" way to structure my project and most of the others structures i found were too complex for me because i am still a beginner with go.However this way is way too simpler and easy to understand
Cool man, this is a good project for newbies, even if I don't 100% agree with structure!
What would you do differently?
Nice, I've still to check the code created, but: redis is missing from the webUI and (just like sametrise underlined) more than one single db could be used on the destination project.
Yep for sure - but I think multi DB can be left for a more advanced approach
Hi @MelkeyDev
What a great initiative. One less thing to figure out... It would be great if provision can also be made for a monorepo setup, where a couple of projects need to be accommodated, like say and API, workflow implementations, web apps etc. It is still very useful!
We can look into this!
Thank you so much Melkey! This actually is what I need from youtube for days back.
I put everything in main.go file
Ah - a main of true culture
based
Excellent strategy for a project with no users. 👏🏻
Backend project only? How about CLI or a service that consumes a message broker?
You are probably free to PR to add the feature.
But yeah, would be awesome to have most classical go usecase and not only backend.
This is cool. Thanks melkey for sharing this incredible tool
The most efficient structure is to keep everything in a root folder and only create new ones when absolutely necessary
Then you’ll realize there’s no silver bullet-each project needs its own structure that fits
Sure, examples can be useful, even the bad ones
Hi and thanks for this tutorial. However, I am having one issue. All changes I made to the .env file are not loaded in the go application. It's still using the original property values that came by default. How can I resolve this please?
Off the top of my head I dont know - but maybe if you post an issue on the github we can look into it deeper for you
@@MelkeyDev thanks for your response. I have been on this for hours. I tried calling this in main.go: godotenv.Overload() and then the new values were read but after removing this, the issue persist. Is there kind of cache I am not aware of?
Great tool. I think if you can add some base lib also, like logger, service discovery etc
That's a great idea
Hi,
I used this tool (go beginner here)
Nothing is running both make run, air, even a build of go and running the main.exe retuns nothing.
I dont want to use docker
this is genuinely awesome, thanks a lot!
this is really cool, thanks for publishing this tool
No problem
Would also be nice to add ability to add multiple projects with shared libraries for use in a monorepo with separate Dockerfile for each project to build separately with it being GitHub Actions aware.
That's so nice ! thanks for this project ❤
Hello I have a problem using go-blueprint... I init project with chi + mongo. Run 'make docker-up' (check if mongo is initialized - no problem). But when I try to run 'make run' nothing happens. Not even a single line in terminal output. Any suggestions? Tried to google some similar problems but nothing poped up. I even commented db initialization (thought something wrong can be happening here). Thanks a lot
Excellent initiative, @MelkeyDev. Congratulations!
How to install on Mac M1? Could you please share a step-by-step guide or include it in the evolution of the tool?
Awesome tool.
Extremely helpful
Just what I wanted to know, thanks
Youre welcome!
Could you add etcd please?
yeah
This looks awesome! i'm not that well versed in go yet but. I would also add an option for a grpc server/consumer too. May as an option for the routing or as a whole project type like HTTP/GRPC.
isn't it better to add features as you need it. for example add docker-compose only when you ready to deploy and smth like that. I thought that minimilizm as you go what separates some kind of js development from go dev
The docker-compose is just for people who want to spin up a quick db along their restful api
@@MelkeyDevwell, it's just that it gives you some stuff that you don't initially need, and either you keep that without using it yet, or you just delete it. So eventually just easier to create everything gradually as you go
Amazing CLI tool. Thanks for building this. I’m using the tool to structure a project in production.
Although I did had some trouble with DBTX and pgx.pool. Somehow figured things out.
Maybe you could also add an option to connect with sqlc as well.
You should try giving nix/Devbox a go. You can replace Docker and Air with something that’s much better.
Thank you so much bro
This is awesome
Amazing.. this is what I was looking for
This is great! I would love to see this using `podman kube play` instead of `docker-compose`
that would be amazing. having a option to choose between those would be the perfect move.
I’m gonna start my first golangHTMX project.
thanks for the work! Might try later.
Does this project support Message Queues connection too?
Hi Melkey! I was a follower of you for a bit of time and i'm just curious if did you also study dsa?
Thank you so much
Hey thanks for following :)
I studied a bit of DSA!
Good stuff, well done!
Hello melkey, hope you are doing fine, should I write my backend cms in go?
Like a friend suggesting django because it is batteries included so development is faster, I am afraid that can I write secure code?
(Imposter syndrome)
Thanks for share 🎉 I'll use it for sure!!!
YAY
really nice stuff, ive been using it for a while.
Appreciate it homie!
Great work!
add auth/sessions optional blueprint
Maybe!
@@MelkeyDev a video about doing auth+sessions right (with realistic examples and more or less thorough) would also be very nice! (learning about it now and it is very hard for me to find good resources with full examples and not only superabstracted/-simplified ones)
This is awesome!
Hell yeah!
This video is amazing now I need a good auth blueprint and it has everything that I need with Vanilla taste
If you’re interested in a really good book on the subject, Let’s Go (written by the creator of the scs package) which has a great chapter on auth. Makes it really easy to implement yourself and overall the book is amazing
@@ParanoidxProd thanks I will read it soon one more question do you know about more backend and testing like I want to write unit test with my code so if you know some books please recommend me thanks you so much.
not installing on Mac
What is the issue? You can add on github or in discord
You have to add the go/bin directory to path
wow i really like this. much appreciated
Nice one milky
Thank you sir!
this is amazing
Thank you! I hope you enjoy
This is awesome. 👏👏
HUrray
THANK YOU! 🎉⚡️
Hope you enjoy!
This is exactly what I was looking for. Thank you! This is one of the hardest things for me to wrap my head around coming from js / dart
Gosh darn you're a handsome man without that 'tache
Glad you enjoyed the video!
Pretty interesting 🎉
:)
thanks!
I like that it's good project
It's great.
Thank you!
In a world where a lot of go projects use a completely flat file structure, to me the importance of project structure seems inflated.
Which didn't prevent me from using an even more complicated project layout than you 😂
Pain.go away
Damn
I kissed a girl
whats a girl
you should try Arch
And you liked it?
Go slowly becoming another Java. Instead of understanding the language , programmer tries to learn framework/library.
That's an incorrect statement
@@MelkeyDev
Right from logging to project structure to database operations, now Go libraries or frameworks are being used.
@@टिरंजननकलेyeah, they added loops, functions, variables, Go is just a Java wannabe. Im afraid that they will eventually add the feature of commenting in the code
Go is easy. Much easier than Java
It's more like generated boilerplate, instead of creating frameworks to marry with.
Useless. Too many bugs. Air has changed repo, checked HTMLx/Templ generates schema without templ directory, "make[1]: templ: No such file or directory
make[1]: *** [Makefile:8: build] Error 127"
This is awesome!