5
2 Comments

C#/.NET Core template for a SaaS API

What‘s up fellow hackers,

TLDR; My idea is to (publicly) build a C#/.NET Core template project that serves as a foundation for SaaS projects. Including authentication, API routes + versioning, Database access, … Think: A project to kickstart your next project - careful defaults but with absolute freedom to adjust parts to your own needs.

Long version:
I‘ve been a software engineer for more than 10 years now - mostly focused on web apps, APIs, SaaS, cloud technologies. Since I‘m kicking off a new SaaS project using C#/.NET Core as backend and API, I‘m thinking about putting together a boilerplate/template project, including everything I know about scalable, well-written and robust software.

People could get access to the source code and kickstart their next SaaS project using this template. I‘m convinced that tens of hours could be saved by just using the right project structure and best practices and be able to focus on the actual problem at hand.

Some things it would include:

  • Dependency injection and services
  • API controllers with best practices regarding REST
  • API versioning
  • (JWT) authentication and authorization
  • Database access / entities
  • Migrations
  • Docker configuration
  • GitHub workflow that creates docker image
  • Unit tests

Is that something people are interested in? I‘m seeing posts from people struggling with getting the project structure right and starting with the right foot from time to time.

Let me know what you guys think!

posted to Icon for group Ideas and Validation
Ideas and Validation
on January 30, 2022
  1. 1

    If it scratches your own itch and others could benefit from it then it can be worth looking into. How far would it go or would it be a starting point?

    https://abp.io does similar for the .NET side so there is a demand out there as they do a commercial version on top.

    1. 2

      Wow this looks nice, didn't even know this existed! Although ABP looks like a full-fledged framework providing all sorts of stuff for building web apps.

      I'm leaning more towards a simple, minimalistic project structure with best practices around controllers, authentication, DB access and stuff, but leaving enough room to bring in your own ideas.

      Something like Max Stoiber's Bedrock for C#: https://bedrock.mxstbr.com/

Trending on Indie Hackers
Meme marketing for startups 🔥 User Avatar 11 comments After 19,314 lines of code, i'm shutting down my project User Avatar 1 comment Need feedback for my product. User Avatar 1 comment 40 open-source gems to replace your SaaS subscriptions 🔥 🚀 User Avatar 1 comment We are live on Product Hunt User Avatar 1 comment Don't be a Jerk. Use this Tip Calculator. User Avatar 1 comment