
Ask HN: Structure of your side projects - lnalx
New side project on the road!<p>I&#x27;m the kind of guy who always looking to the future of my project and tries to well-think (maybe over-think) the project architecture.<p>In my company, I&#x27;m obsessed with microservices and I&#x27;d to keep the same granularity on my side project architecture (code reuse for each service for a completely decoupled service...).<p>What&#x27;s your POV about thinking a new structure on a side project?
======
andreasgonewild
The thing about side projects is that you're free to go wherever you want, no
one is watching over your shoulder any more. It's a damned shame when they get
lost in tar pits trying to live up to someone else's standards. Side projects
should be about passion, about solving interesting problems; and cutting
corners is the fastest way to get there. And in the end, knowing which corners
to cut and when is what separates the pros from the not yets, that's where 10x
comes from.

------
krapp
Currently, I'm trying to organize all of my game development code (such as it
is) as sub-projects in Visual Studio, with a single location for external
libraries (SDL2, Lua, etc.) and a single repo pushed to Bitbucket. Visual
Studio doesn't seem designed for that, so it's awkward, but it works.

And for web development, Just a separate folder for each project and XAMPP.
I'm a dinosaur and never even started working with a VM until recently, so
I've got one Hack project running in Vagrant, but I still prefer XAMPP.

Other than that, I don't impose a lot of structure on my projects because my
side projects are more about education and exploration than trying to come up
with a MVP or resume filler (although I'd probably be in a better position if
I thought more about the latter than the former.) Just enough structure to
make it easy to start and archive, then as much anarchy as I want.

------
user7878
Make architecture as below: 1\. Use common code where even possible like for
crud operation a single class that handle operation based on entity
provided(Dapper.Exention library for .net ORM). 2\. Try to create code
generator using templates. 3\. Use common and well known libraries to manage
common operation like logging, mail sending etc put those in sub project - in
case need to change library just a sub project require changes.

