ASP.NET Core Starter Kit is a real-world boilerplate and tooling for creating single-page web applications (SPA) oriented towards progressive enhancement design, cross-platform compatability and component-based UI architecture. It is built upon best of breed technologies including .NET Core, Kestrel, EF Core, Babel, Webpack, React, Redux, CSS Modules, React Hot Loader and more. This boilerplate comes in both C# and F# flavors.
✓ Component-based front-end development via Webpack, CSS Modules and React (see
✓ Application state management via Redux (see
✓ Universal cross-stack routing and navigation via
✓ Code-splitting and async chunk loading with Webpack and ES6 System.import()
✓ Hot Module Replacement (HMR) /w React Hot Loader
✓ Cross-device testing with Browsersync
✓ Git-based deployment to Azure App Service (see
✓ 24/7 community support on Gitter or StackOverflow; consulting and customization requests on Codementor
- OS X, Windows or Linux
- Node.js v6 or newer
- .NET Core and .NET Core SDK
- Visual Studio Code with C# extension (or Visual Studio 2015 or newer)
Step 1. Clone the latest version of ASP.NET Core Starter Kit on your local machine by running:
$ git clone -o aspnet-starter-kit -b master --single-branch \ https://github.com/kriasoft/aspnet-starter-kit.git MyApp $ cd MyApp
Alternatively, scaffold your project with Yeoman:
$ npm install -g yo $ npm install -g generator-aspnetcore $ yo aspnetcore
$ npm install # Install both Node.js and .NET Core dependencies
Step 3. Finally, launch your web app:
$ node run # Compile and lanch the app, same as running: npm start
The app should become available at http://localhost:5000/.
run.js for other available commands such as
node run build,
node run publish etc.
You can also run your app in a release (production) mode by running
node run --release, or without
Hot Module Replacement (HMR) by running
node run --no-hmr.
How to Deploy
Before you can deploy your app to Azure App Service,
you need to open Web App settings in Azure Portal, go to "Deployment
Source", select "Local Git Repository" and hit [OK]. Then copy and paste "Git clone URL" of your
Web App into
run.js/publish file. Finally, whenever you need to compile your
app into a distributable format and upload that to Windows Azure App Service, simply run:
$ node run publish # Same as running: npm run publish
How to Update
We work hard on keeping the project up-to-date and adding new features. Down the road, after starting a new web application project based on this boilerplate, you can always fetch and merge the latest changes from this (upstream) repo back into your project by running:
$ git checkout master $ git fetch aspnet-starter-kit $ git merge aspnet-starter-kit/master
Alternatively, pull the latest version of this repository into a separate folder and compare it with your project by using a diff tool such as Beyond Compare.
How to Contribute
Anyone and everyone is welcome to contribute to this project. The best way to start is by checking our open issues, submit a new issues or feature request, participate in discussions, upvote or downvote the issues you like or dislike, send pull requests.
Learn React.js, ES6 and ASP.NET Core
- React App SDK — build React applications with a single dev dependency and no build configuration
- React Starter Kit — Isomorphic web app boilerplate (Node.js, Express, GraphQL, React)
- ASP.NET Core Starter Kit
|>F# — Web app boilerplate (F#, .NET Core, Kestrel, GraphQL, React)
- Universal Router — Isomorphic router for web and single-page applications (SPA)
- Membership Database — SQL database boilerplate for web app users, roles and auth tokens