Challenges

Now that we’ve built the basic site, there might be time for some challenges! Below are a list of feature ideas that take advantage of other ASP.NET Core features:

Identity

  • Add support external authentication like Google or Twitter authentication - https://docs.microsoft.com/en-us/aspnet/core/security/authentication/social/?view=aspnetcore-2.2

Logging

  • Add Serilog, a 3rd party logger to the front end and disable built in console logging.

Images

  • Allow attendees to upload images.
  • Resize the image using ImageSharp

Caching

Tag Helpers

  • Render Markdown for the session Abstract (instead of HTML) using a custom markdown tag helper.

Data

  • Change database provider to Postgres - https://www.nuget.org/packages/Npgsql/
  • Change database provider to MySql - https://www.nuget.org/packages/MySql.Data/

Testing

  • Write unit tests for the BackEnd Controllers
  • Write unit tests for the FrontEnd Razor pages
  • Write functional tests

FrontEnd Features

  • Make the names slugs instead of using IDs in the urls to navigate entities
  • Configure retry policy using Polly library
  • Support multiple conferences
    • Add conference date
    • Make the home page show upcoming conferences (within 5 days)
    • Move agenda to separate page
  • Add admin pages to manage:
    • Tracks
    • Attendees
    • Conferences
    • Sessions
    • Speakers (allow speaker image upload)

BackEnd Features

  • Add date filtering to the BackEnd APIs
  • Add support for returning XML from the APIs
  • Add links to related entities in the responses e.g. Attendee has a list of sessions, return URLs for each of the session resources related to Attendee.

Sessions

This is series of articles on Building Conf planner app with Asp.net Core: