I get very excited about my side-projects, and have a tendency to rush into them. Unfortunately, I get distracted by something else that's shiney before I get them done, and I'm off to the next one. There's a folder of all of the projects that I plan to finish before I retire 40 years from now, but that's a different story. This post is about how I'm working smarter and not harder!
For those of you who have ever programmed, you probably already know that there's a lot of monotony and repeated work when working on greenfield projects all the time. To fix this, I'm setting up a seed project from which I can start all of my new projects. This will save me at least a few hours per project....
This seed project will be a WebAPI project that is configured for both cookie authentication (as a regular MVC site), along with bearer token authentication and a custom roles authorization filter. It will also have all of my logging, basic unit tests (or a starting point for them!), a data layer, domain objects portable class library, business layer, etc etc etc. All of the things that I will wind up adding before I ship the product are already going to be there.
You can check out my progress on my github account: https://github.com/lreading/APISeed. I also plan to have it relatively well documented in the Wiki, and will update the readme once I better figure out what I actually want this to do for me.
As a side note, all of the stuff in my github account was very old, and borderline embarrassing. This is also going to serve to update my portfolio a bit to show that I have actually progressed in the last few years, and I'm always striving to write cleaner and better code.