How I Structured My Side Project In Go - Sendit.sh

  Рет қаралды 16,631

Anthony GG

Anthony GG

Жыл бұрын

► Join my Discord community for free education 👉 / discord
► Learn Golang Mastery 👉fulltimegodev.com
► Learn how I became a self-taught software engineer 👉fulltimegodev.com/#mystory
► Follow me on Twitter 👉 / anthdm
► Follow me on GitHub 👉 github.com/anthdm
► Secure and easy file transfers 👉 sendit.sh
DESCRIPTION
------------------------
In this video I will give you an overview on how I built and structure my side hustle, sendit.sh.
SUBSCRIBE OR NO MARGARITAS
╔═╦╗╔╦╗╔═╦═╦╦╦╦╗╔═╗
║╚╣║║║╚╣╚╣╔╣╔╣║╚╣═╣
╠╗║╚╝║║╠╗║╚╣║║║║║═╣
╚═╩══╩═╩═╩═╩╝╚╩═╩═╝

Пікірлер: 54
@anthonygg_
@anthonygg_ Жыл бұрын
► Join my Discord community for free education 👉 discord.com/invite/bDy8t4b3Rz ► Learn how to become a Golang master 👉 fulltimegodev.com Thanks for watching
@sjakievankooten
@sjakievankooten Жыл бұрын
Such a smart idea to do this via ssh and by keeping the connection open. Then the custom domains and verification is the cherry on top of the cake!
@leozamariola
@leozamariola Жыл бұрын
15:11 this part should be clipped. "Simple, effective, amazing!" Great work Anthony. Your content is amazing.
@anthonygg_
@anthonygg_ Жыл бұрын
🙏
@dandogamer
@dandogamer Жыл бұрын
This video was a breath of fresh air. I'm making a game in golang atm and constantly I find myself worrying about potential bottlenecks and how will this scale questions. When in reality it doesnt fucking matter, love the get shit done attitude, make it dirty, make it work
@gustavobertoi4067
@gustavobertoi4067 Жыл бұрын
nice, keep going my friend! 🚀
@manfrombritain6816
@manfrombritain6816 8 ай бұрын
Great video and such a useful idea for a project! I've needed something like this so many times... it can be such a pain trying to quickly transfer things, particularly between win and linux
@neilmichaeli890
@neilmichaeli890 Жыл бұрын
awesome video! will be amazing of you’ll do overview like this but with microservices, how you structure it in terms of shared code, services code etc
@medilies
@medilies Жыл бұрын
This is high value learning, thank you
@interstellar1873
@interstellar1873 Жыл бұрын
Certified Banger 🚀
@3x10.8_ms
@3x10.8_ms Жыл бұрын
kudos...i'm gonna use it heavily from now on, it is quick af
@ThePandaGuitar
@ThePandaGuitar Жыл бұрын
Anthony besides your coding skills I just love the fact that you communicate your personality and philosophy which are more important imo, you're not cargo culting like most programmers and you focus on what's important.
@sjakievankooten
@sjakievankooten Жыл бұрын
The 2 newlines in the middle of the makefile are making me itch 😂😭
@JOHNSMITH-ve3rq
@JOHNSMITH-ve3rq 4 ай бұрын
Lmao love the energy here
@crade47
@crade47 Жыл бұрын
really cool video, you should make a video on how you approach an idea in your head visually, what functions/components/things out of that visualization would go to what folder etc, i struggle a lot with getting an idea but never actually knowing how to execute it without being overwhelmed
@anthonygg_
@anthonygg_ Жыл бұрын
Good idea!
@cybermindable
@cybermindable Жыл бұрын
amazing
@DennisPing
@DennisPing Жыл бұрын
I'm re-doing old school projects in Go and mostly using the std lib for learning sake. I'm glad that I went through the struggle of coding everything myself b/c I have a better sense of what's going on behind the hood. But... for side projects where I need to get stuff done, I'm definitely going to use Echo framework. For small services that have 1 job, just throw db and logger as global variables.
@ihatesun
@ihatesun Жыл бұрын
A stream/video on deployment would be nice.
@anthonygg_
@anthonygg_ Жыл бұрын
Its possible with hooks later on
@brians7100
@brians7100 Жыл бұрын
Official Sendit theme song: kzfaq.info/get/bejne/rLt2nLmoxpy5j5c.html
@brians7100
@brians7100 Жыл бұрын
Making the DB a global variable is a chad move.
@leoilei8858
@leoilei8858 Жыл бұрын
I believe whether the database instance should be treated as a global variable or abstracted as an interface depends on the specific business scenario. If I were developing a small-scale project, I would lean towards the former. However, for a large-scale commercial project, considering maintainability, I would without hesitation choose the latter😁
@mowazzemhosen366
@mowazzemhosen366 Жыл бұрын
as long as other people doesn't touch your code keeping the code simple, dirty and global DB variable is totally fine.
@seanknowles9985
@seanknowles9985 Жыл бұрын
Yoyo Homie, busting out those quality videos for the fans, have a few questions. How would we create a video streaming app with htmx (Udemy style app), also how would we split htmx endpoints serving web and mobile client at the sametime?
@LincRych
@LincRych 10 ай бұрын
Your style of app architecture is a breath of fresh air. I have spent so much time studying how to force my projects into the canonical "clean architecture" and really have found that it is somewhat unnatural to do for a Go project. As long as you take care to prevent dependencies on inner implementation and rather depend upon interfaces with a set of predefined behaviors, your code will be maintainable. I found breaking everything down by use cases, ports, controller, domain, to be tiresome and honestly pretty counter intuitive. My #1 red flag that I watch for is how many files do I need to edit in order to make a non-trival addition to the application's functionality? If I find myself editing implementations in what should be unrelated files, I know a refactor is in order. In the spirit of Go, I keep it as simple as possible until I determine more complexity needs to be added.
@dranon0o
@dranon0o 10 ай бұрын
One advice You should NOT use clean architecture or domain driven design architectures when you DON'T KNOW YET your domain A domain need to be discovered and experimented, you need to care about your domain and all it's rules So before doing a DDD... this kind of architecture is indeed extremely useful to actually code, work and discovery your business rules + domain rules etc Don't overthinking it It is counter intuitive for you right now because you don't know what you need for your application yet So go with Anthony architecture, code a lot and maybe it will make sense to you later on DDD architecture is super useful later on when you want to isolate your application and rules to increase your test coverage and increase your flexibility on long term changes (adapters for example represent different databases (nosql or sql or whatever) that you would allow people to connect to). tldr: do it fast, do it dirty, discover, learn your domain, you will see later on to re-write parts in DDD
@leroyjenkins6347
@leroyjenkins6347 Жыл бұрын
Do you have opinions on feature based file structure for projects?
@TheUnary
@TheUnary Жыл бұрын
Epic video, could you explain how did you manage the users subdomains?! thanks in advance
@anthonygg_
@anthonygg_ Жыл бұрын
Nginx.
@TheUnary
@TheUnary Жыл бұрын
@@anthonygg_ thank for your prompt reply. Do you have any idea how users can also link their domains using cname record. (eg: when you deploy an app to heroku there is a way to link your domain to this app) how can this be managed in golang?
@edboss36
@edboss36 9 ай бұрын
Wowww I never knew you can deploy like that
@idomath6883
@idomath6883 Жыл бұрын
Where do you host your projects? Is there a service you prefer to use?
@anthonygg_
@anthonygg_ Жыл бұрын
Sendit is in Linode. Cause I could not figure out how te change the default ssh port on Digital ocean. Hetzner cloud is also keen
@nefrace
@nefrace Жыл бұрын
That's a good piece of service! :D But the fact that files are sent zipped makes it not so intuitive to use. Definetely the project worth of trying to implement by myself
@anthonygg_
@anthonygg_ 11 ай бұрын
@user-od8tp8ib5i
@user-od8tp8ib5i Жыл бұрын
Cool project, no tests?
@anthonygg_
@anthonygg_ Жыл бұрын
There are
@dawidgrabowski6122
@dawidgrabowski6122 Жыл бұрын
why have u moved back to vscode?
@anthonygg_
@anthonygg_ Жыл бұрын
Its just easier. I wanne focus on building stuff instead of hassling with plugins
@dawidgrabowski6122
@dawidgrabowski6122 Жыл бұрын
@@anthonygg_ that is what i thought. Thank you for answering
@farzadmf
@farzadmf Жыл бұрын
So, it's not open source, is it?
@anthonygg_
@anthonygg_ Жыл бұрын
Soon
@farzadmf
@farzadmf Жыл бұрын
Great!
@mohammedabbas6404
@mohammedabbas6404 9 ай бұрын
Is it open source yet?
@KenAgudelo
@KenAgudelo Жыл бұрын
Hi sir, i have a question, what Go Web Framework should i learn?
@anthonygg_
@anthonygg_ Жыл бұрын
Fiber
@KenAgudelo
@KenAgudelo Жыл бұрын
@@anthonygg_ Thank you sir
@KenAgudelo
@KenAgudelo Жыл бұрын
@@anthonygg_ I have to learn GRPC too?
@ErmandDurro
@ErmandDurro Жыл бұрын
@Anthony Great video and really cool product 😃 I was trying to use it now, but it's not accepting my ssh-key because it's generated using "ed25519". It keeps saying it's invalid ssh-key. Would it be able to accept ssh-keys generated via ed25519 cryptography?
@anthonygg_
@anthonygg_ Жыл бұрын
Hmm need to check that
@basecasefalse
@basecasefalse Жыл бұрын
@anthonygg_ At kzfaq.info/get/bejne/l5yBaK6kysCYZ6c.html your metrics basic auth is showing, in case you care about opening that up to the world, or that password is not unique...
@anthonygg_
@anthonygg_ Жыл бұрын
Ye, mentioned that on stream no big deal 😅
Go Pointers: When & How To Use Them Efficiently
14:09
Anthony GG
Рет қаралды 68 М.
Beginners Should Think Differently When Writing Golang
11:35
Anthony GG
Рет қаралды 96 М.
Вечный ДВИГАТЕЛЬ!⚙️ #shorts
00:27
Гараж 54
Рет қаралды 13 МЛН
Я нашел кто меня пранкует!
00:51
Аришнев
Рет қаралды 2,1 МЛН
This Is The BEST Way To Structure Your GO Projects
11:08
Melkey
Рет қаралды 64 М.
Архитектура Go проекта на практике
30:09
Evrone Development
Рет қаралды 13 М.
Getting Started with HTMX and Go [HTMX Tutorial Part 1]
25:29
NoobScience
Рет қаралды 7 М.
Tunnel SSH Directly To HTTP With GoLang!?
17:16
Anthony GG
Рет қаралды 9 М.
Everything You Need To Know About Pointers In Golang
20:47
Anthony GG
Рет қаралды 28 М.
Mastering Dependency Injection In Golang
14:29
Anthony GG
Рет қаралды 44 М.
Introducing The GoTTH Stack - Go, Tailwind CSS, Templ & HTMX
28:29
Do NOT Learn Kubernetes Without Knowing These Concepts...
13:01
Travis Media
Рет қаралды 240 М.
programming projects that taught me how to code
9:49
isak
Рет қаралды 267 М.
Вечный ДВИГАТЕЛЬ!⚙️ #shorts
00:27
Гараж 54
Рет қаралды 13 МЛН