/CoreWiki

A simple ASP.NET Core wiki that we are working on during live coding streams

Primary LanguageCSSMIT LicenseMIT

CoreWiki

A simple ASP.NET Core wiki that we are working on during live coding streams. It runs on Windows, Mac, Linux and Container. Core Wiki is an allusion to the Core App. This name was suggested by Shayne Boyer in the stream of the 27th/March. Initially this project is very basic and anyone who is learning ASP.NET Core 2.0 (Razor Pages) can use it to learn.

To learn more about Jeff's stream check his Live Stream Repository.

Table of contents

Explore a CoreWiki live demo at https://corewiki.info/

Note: You must have nodejs with npm, and .NET Core installed

To run the latest version of CoreWiki on your local dev machine, open your favorite terminal on an operating system of your choice, and execute the following:

git clone https://github.com/csharpfritz/CoreWiki.git
cd CoreWiki\CoreWiki
npm install
dotnet run

💡 Tips: you can also use the watch command, it will rebuild CoreWiki when you do any code change dotnet watch run

Fastest way to ship your own instance is to try our Deploy to Azure button, but you can deploy to a cloud provider of your choice.

Deploy to Azure

FAQ

I want to contribute:

@csharpfritz is inviting for new and old to learn together with team stream, and make a pull request. A more descriptive contributing guide is written here: contributing

  • To find task that has been discussed, search in the issues for help-wanted here
  • If you see TODO in code, or see small improvements in current functionality, you are also welcome to make a pull-request
  • If you want to try adding a new feature, please open an issue so @csharpfritz can review the idea

You shouldn't see this problem any longer, as the latest versions of CoreWiki now include an initial start wizard that allows you to create a default administrator user. If you are using an older version of CoreWiki, follow these steps:

  1. Register a new account (it won't have administrator rights for obvious reasons).
  2. Sign in as the default administrator (username: admin@corewiki.com, password: Admin@123), and go to the User Admin page from the main menu up top.
  3. Scroll down, find the user you just registered, and give them the administrator role.
  4. From the main menu again, click the email address near the Logout button to open the profile manager.
  5. Click on the Personal Data sub-menu, and delete this default admin account.

HomePage - It's not a page or a feature. This is a default article that is presented as if it were the Home. When the user navigate to /Details, if topicName is not specified, the application redirect to default Article (HomePage)

Header Menu

  • Allows the users navigate to the Default article (HomePage). [Back to Home (CoreWiki)]
  • Allows the users navigate to LatestChanges articles feature.[LatestChanges]
  • Allows the users navigate to Create new article feature. [Create new article]
  • Allows the users navigate to All articles feature. [All]

Details

  • Allows the users see details of article.
  • Allows the users navigate to Edit feature. [Edit]
  • Allows the users navigate to the Default Article (HomePage). [Back to Home]
  • Allows the users see comments list
  • Allows the users add new comment[New Comment]

Create

  • Allows the users create a new article. When success, redirect the user to Details Feature. Otherwise, stay in the page and show error message. [Create]
  • Allows the users to navigate to the default article (HomePage). [Back to Home]

Edit

  • Allows the users change the article (Topic, Published and Content).
  • Allows the users navigate to the default article (HomePage). [Back to Home]

Delete

  • Allows the users delete the article (Topic, Published and Content).
  • Allows the users navigate to the default article (HomePage). [Back to Home]

LatestChanges


  • Allows the users see the last 10 articles. Ordered by Published Date.
  • Allows the users navigate to Edit feature. [Edit]
  • Allows the users navigate to Delete feature. [Delete]
  • Allows the users navigate to Details feature. [Detail]
  • Allows the users navigate to Create new article feature. [New article]
  • Allows the users navigate to the default article (HomePage).[Back to Home]

List All


  • Allows the users see ALL articles. Ordered by Topic.
  • Allows the users navigate to Edit feature. [Edit]
  • Allows the users navigate to Delete feature. [Delete]
  • Allows the users navigate to Details feature. [Detail]
  • Allows the users navigate to Create new article feature. [New article]
  • Allows the users navigate to the default article (HomePage).[Back to Home]
  • Allows the users navigate to Latest Changes feature. [Latest Changes]

Search engine friendly URL's


[Description]

NotFound


  • Occurs, always which an page is not found.

Error


  • When an exception occur, o user is redirected to error page. [Not Simulated].

Build Status

CoreWiki is built and tested continuously by Azure Pipelines. Shortly after you submit a pull request you can check the build status notification. All contributions encouraged!

Archive of all shows from the stream can be found on Jeff's YouTube 'Building the CoreWiki' playlist.

Recordings Index

Date Topic
March 27, 2018 From DevIntersection in Orlando, ASP.NET Core with guest Shayne Boyer
March 29, 2018 Back in Philly working on our new Wiki project - Start 00:52:50
April 5, 2018 Building a Wiki with ASP.NET Core - Updating to Bootstrap 4 - Start 00:28:40
April 10, 2018 Pair-programming with Jon Skeet, Handling Dates and Times
April 12, 2018 Pair-programming with YOU! Your .NET questions and pull-requests - Start 00:23:05
April 14, 2018 Coding ASP.NET Core: Building a Wiki
April 19, 2018 Chill coding today.. good music, good code, and YOU!
May 3, 2018 Answering your questions, reviewing pull-requests, and May is for Macs continues! - Start 00:22:55
May 5, 2018 ASP.NET Core, live interactions with SignalR, and YOUR pull requests - No Video Available
May 22, 2018 May is for Macs - Reviewing GitHub scoreboard widget and working on our Wiki - Start 01:09:27
May 24, 2018 May is for Macs - Working with Gravatar and Updating to ASP.NET Core 2.1
May 26, 2018 May is for Macs - Building an RSS Feed and adding some AI to our Bot - Start 00:18:47
May 29, 2018 May is for Macs - Reviewing Pull Requests and making the realtime web with SignalR
May 31, 2018 The end of May is for Macs - Completing our realtime GitHub scoreboard SignalR - First hour
June 2, 2018 Finishing the GitHub Scoreboard and merging YOUR pull-requests - First hour
June 7, 2018 Dotnet global tools and reviewing pull requests to the CoreWiki project
June 9, 2018 DotNet Global Tools - Delivering Sample Code Easier than Ever - Start 00:32:48
June 12, 2018 Upgrading to ASP.NET Core 2.1.1 and finishing our .NET global tool - Start 00:24:07
June 14, 2018 Monitoring Applications with Isaac Levin
June 16, 2018 Authorization in C# and ASP.NET Applications, plus YOUR Pull Requests - Start 00:15:20
June 19, 2018 Notifications and Razor Pages in ASP.NET Core with Amanda Iverson
June 23, 2018 Reviewing Pull Requests and talking about ASP.NET Performance
June 28, 2018 Completing historical data storage and reviewing your pull requests
June 30, 2018 Reviewing Pull Requests and Discussing Dependency Injection - Last 20 minutes
July 3, 2018 Building a user-interface to compare wiki article versions
July 5, 2018 Day after Independence Day, building web pages with ASP.NET Core - Start 00:41:15
July 7, 2018 Refactoring and Pull requests | C# | ASP.NET Core - Start 00:29:45 for about 15 minutes
July 10, 2018 Refactoring and the Repository Pattern | C# | ASP.NET Core
July 12, 2018 Refactoring to support better unit tests | C# | ASP.NET Core
July 14, 2018 Entity Framework Migrations | C# | Entity Framework | ASP.NET Core
July 19, 2018 Authorization Policies and Security Enforcements | C# | ASP.NET Core
July 21, 2018 Architecture Review and Refactoring | C# | ASP.NET Core
July 21, 2018 Architecture Review and Refactoring | C# | ASP.NET Core
July 26, 2018 Application Extensibility | C# | ASP.NET Core
July 27, 2018 More Architecture Review and Updates for CoreWiki | C# | ASP.NET Core
July 28, 2018 Simplifying Search Pages | C# | ASP.NET Core
August 3, 2018 Pull Request Reviews and more Twitter Integration | JavaScript | C# | ASP.NET
August 4, 2018 Writing code, Refactoring DTOs from Entity Framework | C# | ASP.NET
August 7, 2018 Introducing Models to an Application | C# | ASP.NET
August 9, 2018 Refactoring to Domain Models in an Application | C# | ASP.NET
August 11, 2018 Introducing the CQRS Architecture Pattern with MediatR | C# | ASP.NET
August 14, 2018 More work with the CQRS Architecture Pattern and MediatR | C# | ASP.NET
August 16, 2018 Unit Testing the CQRS Architecture Pattern | C# | ASP.NET Core
August 17, 2018 Building The CoreWiki - New Commands and Queries | C# | ASP.NET Core
August 18, 2018 Introducing Automapper to CoreWiki | C# | ASP.NET Core
August 25, 2018 Jeff is BACK! Talking about Twitch APIs and software architecture in CoreWiki | C#
August 31, 2018 Fixing ASP.NET Core in a Container and YOUR Pull Requests | C# | ASP.NET Core
September 1, 2018 Refactoring and Deploying our CoreWiki Application to Azure | C# | ASP.NET Core
September 6, 2018 Refactoring and Adding a 'Deploy to Azure' button to CoreWiki
September 7, 2018 Adding Postgres to Corewiki and running Wordpress on .NET with PeachPie
September 11, 2018 Talking about Real World ASP.NET Core with Javier Lozano | C# | ASP.NET Core
September 13, 2018 The Legacy of Code with Kathleen Dollard | C# | ASP.NET Core
September 20, 2018 CoreWiki Meets Azure DevOps | Azure DevOps | ASP.NET Core
September 20, 2018 CoreWiki Continuous Integration | Azure DevOps | ASP.NET Core

Series Topic
Architecture Workshop 1 of 7 Steve Smith shows us Clean Architecture
Architecture Workshop 2 of 7 Julie Lerman introduces Domain Driven Design
Architecture Workshop 3 of 7 Jimmy Bogard, MediatR and the CQRS pattern
Architecture Workshop 4 of 7 Mark Miller talks about the Science of Great User Interfaces
Architecture Workshop 5 of 7 Miguel Castro Makes our Application More Extensible
Architecture Workshop 6 of 7 Cecil Phillip Shows Azure Functions and Serverless Concepts
Architecture Workshop 7 of 7 Steve Lasker Shows Us the How and Why of Containers and Azure