Cross-platform web development with Visual Studio Code, C#, F#, JS, ASP.NET Core, EF Core, React (ReactJS), Babel and Webpack. Demo =>
JavaScript F# C# CSS
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.vscode
client.test
client
public
server.test
server
tools
.editorconfig
.gitattributes
.gitignore
CONTRIBUTING.md
LICENSE.txt
README.md
global.json
jsconfig.json
package.json

README.md

ASP.NET Core Starter Kit |> F#   Status Tips

ASP.NET Core Starter Kit is an opinionated boilerplate for web development based on .NET Core, Kestrel, GraphQL on the backend and Babel, Webpack, React on the frontend. This boilerplate comes in both C# and F# flavors.

See demo, docs  |  Follow us on Gitter or Twitter  |  Learn React.js and ES6  |  Visit our sponsors:

<img src="https://koistya.github.io/files/rollbar-x64.png" alt"Rollbar" width="235" height="64"> Localize

Features

    ✓ Component-based front-end development with Webpack, CSS Modules and React (see tools/webpack.config.js)
    ✓ Modern JavaScript syntax (ES2015+) via Babel; modern CSS syntax (CSS3+) via PostCSS
    ✓ Application state management via Redux (coming soon)
    ✓ Routing and navigation via React App, Universal Router and History npm modules
    ✓ Code-splitting and async chunk loading with Webpack and ES6 System.import()
    ✓ Hot Module Replacement (HMR) /w React Hot Loader (coming soon)
    ✓ Cross-device testing with Browsersync (coming soon)
    ✓ Git-based deployment to Azure App Service (see tools/deploy.js)
    ✓ 24/7 community support on Gitter or StackOverflow; customization requests on Codementor

Directory Layout

.
├── /.vscode/                   # Visual Studio Code settings
├── /build/                     # The folder for compiled output
├── /client/                    # Client-side app (frontend)
├── /client.test/               # Unit and integration tests for the frontend app
├── /public/                    # Static files such as favicon.ico etc.
├── /server/                    # Web server and data API (backend)
├── /server.test/               # Unit and integration tests for the backend app
├── /tools/                     # Build automation scripts and utilities
│── jsconfig.json               # Visual Studio Code settings for JavaScript
│── LICENSE.txt                 # Licensing information
│── package.json                # The list of project dependencies and NPM scripts
└── README.md                   # Project overview / getting started guide

Prerequisites

Getting Started

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

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

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

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

3. Finally, launch the web app:

$ npm start                     # Compile and lanch the app

The app should become available at http://localhost:5000/

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 tools/deploy.js file. Then, whenever you need to compile your app into a distributable format and upload that to Windows Azure App Service, simply run:

$ npm run deploy                # Same as running: node tools/deploy --production

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 and ES6

🎓   React.js Training Program by Tyler McGinnis
🎓   React for Beginners and ES6 Training Course by Wes Bos
📗   React: Up & Running: Building Web Applications by Stoyan Stefanov (Aug, 2016)
📗   Getting Started with React by Doel Sengupta and Manu Singhal (Apr, 2016)
📗   You Don't Know JS: ES6 & Beyond by Kyle Simpson (Dec, 2015)
📗   Beginning F# 4.0, 2nd Edition by Robert Pickering and Kit Eason (Jun, 2016)
📗   Expert F# 4.0, 4th Edition by Don Syme, Adam Granicz, Antonio Cisternino (Dec, 2016)

Related Projects

Get in Touch

License

Copyright © 2014-2016 Kriasoft. This source code is licensed under the MIT license found in the LICENSE.txt file. The documentation to the project is licensed under the CC BY-SA 4.0 license.


Made with ♥ by Konstantin Tarkus (@koistya) and contributors