#WeeklyDev.io .NET Core Front End
##Quick Start - Installation & Dev Environment Setup
###Linux Setup Only been tested with Ubuntu 14.04 & Ubuntu 16.04 (requires 64 bit)
git clone https://github.com/wakawaka54/weeklydev-frontend.git
Clone or Fork GitHub repository into your local machine- Follow the .NET Core setup located here
cd weeklydev-frontend
Move into the project subdirectorydotnet restore
Restore packages (similar to npm install)dotnet run
Runs the dotnet core application- Defaults to
localhost:1400
####Development Environment Setup
####Linux
- Download Visual Studio Code
- Install C# extension and anything else you may find interesting!
- Line by Line debugging is supported on Visual Studio Code (note: I have not been able to get Razor intellisense to work on Visual Studio Code)
####Windows (preferred)
- Download Visual Studio Community
- Download .Net Core for Windows - if you experience any issues with this, let me know. There are some known bugs with the installer.
- Open
.sln
file and it should open up the project. You will have full intellisense for Razor and C#.
##Project Documentation
Extension .Net Core Documentation can be found here
###Configuration
Configuration for this project is done in following files project.json
, appsettings.json
, .\Properties\launchSettings.json
, Startup.cs
, Program.cs
, web.config
.
####project.json
"dependencies"
are all the 'packages' that are required by the dotnet application
####appsettings.json
"ConnectionStrings"
are connection strings to dbs, I believe this is currently unsed."Logging""
works with ILogger and tells what level alerts do you want to see in the console"server.urls"
default launch url for the application"apiAddress"
web address of WeeklyDev.io backend
####.\Properties\launchSettings.json
- I don't think this is used
####Startup.cs
- Startup(...) - Configuration is built here, add any new configuration files here.
- ConfigureServices(...) - Some services need to be pre-configured which is what happens here. Dependency Injection mapping happens here.
- Configure(...) - WeeklyDevApiAuthentication is setup here and JsonConvert default settings are assigned here. Routes are assigned here.
####Program.cs
- Main(...) - starting point of the application, creates and configures Server and adds
Startup.cs
file along with retreives config files.
###Project Folder Structure
.vscode
-> ignore**Controllers**
- The C of MVCProperties
some configuration**Services**
definitions for all the services that are injected through DI to the controller. This is the implementation of how data gets to the Controllers.**Views**
- the V of MVC, these contain the HTML mark up for all pages and use a templating engine called Razorbin
-> ignoreobj
-> ignorewwwroot
-> all static files are kept here (imgs, css, js)
###Basic Technologies Bootstrap layout
Razor templating engine
AspNetCore Class libraries for server side implementation
Default .Net Core Readme Material Below
- Add a Controller and View
- Add an appsetting in config and access it in app.
- Manage User Secrets using Secret Manager.
- Use logging to log a message.
- Add client packages using Bower.
- Target development, staging or production environment.