/aspnet-starter-kit-2.0

Cross-platform web development with Visual Studio Code, C#, F#, JavaScript, ASP.NET Core, React (ReactJS), Redux, TypeScript. Single-page application boilerplate.

Primary LanguageTypeScript

ASP.NET Core Starter Kit 2.0

This project is a mix of ASP.NET Core Starter Kit and Microsoft ASP.NET Core React/Redux template.

Why ?

I like original ASP.NET Core Starter Kit because it embraces Node.js and allows you to run on top of Kestrel web server but unfortunatelly it wasn't updated to support .NET Core SDK 2.1.

I like Microsoft ASP.NET Core React/Redux template but I don't like how it integrates with Node.js using node commands from inside .csproj file:

    ✓ It is less flexible than npm scripts and also is less familiar to front-end developers
    ✓ Node.js commands are embedded inside the .csproj project file which is great if you are just using Visual Studio to compile .NET Core but is quite annoying if you like to work with npm scripts and CLI.

This projects takes the best parts from ASP.NET Core Starter Kit and ASP.NET Core React/Redux template to create a new template levaraging the full power of Node.js and .NET Core 2.1 SDK with Kestrel as a web server. TypeScript was also added to the mix.

Features

    ✓ Component-based front-end development via Webpack and React (see webpack.config.js)
    ✓ Static type checking with TypeScript
    ✓ Application state management via Redux
    ✓ Universal cross-stack routing and navigation history (see client/routes.tsx)
    ✓ Hot Module Replacement (HMR) /w React Hot Loader
    ✓ Lightweight build automation with plain JavaScript (see run.js)
    ✓ Cross-device testing with Browsersync

Prerequisites

Getting Started

Step 1. Clone the latest version of ASP.NET Core Starter Kit 2.0 on your local machine by running:

$ git clone -o aspnet-starter-kit -b master --single-branch \
      https://github.com/Luteceo/aspnet-starter-kit-2.0 MyApp
$ cd MyApp

Step 2. Install project dependencies listed in project.json and package.json files:

$ npm install                   # Install both Node.js and .NET Core dependencies

or using Yarn:

$ yarn install                   # Install both Node.js and .NET Core dependencies

Step 3. Finally, launch your web app:

$ node run start                      # Compile and lanch the app, same as running: npm start

The app should become available at http://localhost:5000/. See run.js for other available commands such as node run build 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

TODO

How to Update

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-2.0
$ git merge aspnet-starter-kit-2.0/master 

How to Contribute

Anyone and everyone is welcome to contribute. 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.

Get in Touch

License

Copyright © 2018-present Luteceo. This source code is licensed under the MIT


Made by Tomasz Jaskula @tjaskula