C#, .NET, etc. are my native languages and I literally build ASP.NET services and solutions everyday as part of my career. Hopefully, I can provide some insight. First, C#, .NET and ASP.NET while related are not all the same thing: C# is a programming language that's generally associated with .NET but can be used elsewhere. That's all. It's just the language .NET is a Framework . It's a set of API's, classes, etc. that all come together to make programming easier. In general, you write C# code (or VB, F#, etc.) utilizing the .NET Framework and that all gets compiled during build or run time for execution by the .NET compiler. With the latest release of .NET (Core) you can either use the default compiler Roselyn, use a third party compiler or roll your own. There's a lot more to it than that, but I could write pages on just the compilation stuff alone and you really don't need it to get started. ASP.NET is a subset of the .NET Framework specifically geared towards web development. Initially it consisted of what Microsoft called WebForms which were Microsoft's way of pulling traditional application developers over to web development. I personally don't work with WebForms anymore as they are too reliant on session and ViewState and for the most part, most people are moving on to MVC. MVC and WebApi are the kids on the block and with .NET Core, they have been merged. MVC tacked rending Html views as well as returning data, whereas WebApi was geared specifically to returning data via REST generally via XML or JSON although you have full access to the HttpContext so you could theoretically can return whatever you want. Ok, so. With that wall of text out of the way, what you're looking to do is actually pretty simple. Crack open Visual Studio (preferably 2015 with Update 2 or 3 installed) and create a new ASP.NET Web Application or ASP.NET Core Web Application. I'd personally say go with the first for the time being even though ASP.NET Core is the new hotness because Core was literally just released and there isn't a ton of documentation on it. StackOverflow, on the other hand, is full of questions about ASP.NET. Once you've selected your project type, go ahead and select the WebApi template. This will create a project template with everything you need to get started with WebApi. There will be a controllers folder where you'll put your data controllers, a models folder for your models, etc. These controllers are going to be your server side code. By default, they'll all be prefixed by '/API' when you call them. Now, to add a client, you have one of two options: You can dump your files into the same project and have everything there. You can create a new empty web project and put your files there Regardless of where you put our client code, you'll need to make a note of the port number that the web api project runs under (usually http://localhost:SomePortNumber ) and have your Angular project point to that for data. That's a REALLY high level overview of how to get started and I'm sure you have more questions but a Hashnode post is a very limited area for a tutorial :) Check out this tutorial: http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/build-a-single-page-application-spa-with-aspnet-web-api-and-angularjs Also, feel free to hit me up if you need help or a starter project to get going with as an example. I'm more than happy to help. I love C#. It's super powerful, really elegant and the .NET Framework has a lot to offer, but I can understand how difficult it can be coming from another language. Once you get past the initial hurdles, it's all pretty much downhill for a while.