Now that we've built the basic site, it's time for some challenges. Below are a list of feature ideas that take advantage of other ASP.NET Core features:
- Add local user accounts using ASP.NET Core Identity instead of Google or Twitter authentication - https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity
- Add
Serilog
, a 3rd party logger to the front end and disable built in console logging. - Add
ILogger
support to the front endApiClient
implementation to log all outgoing http requests.
- Allow attendees to upload images.
- Resize the image using ImageSharp
- Add various caching to front end site
- Render Markdown for the session Abstract (instead of HTML) using a custom markdown tag helper.
- Change database provider to Postgres - https://www.nuget.org/packages/Npgsql/
- Change database provider to MySql - https://www.nuget.org/packages/MySql.Data/
- Write unit tests for the BackEnd Controllers
- Write unit tests for the FrontEnd Razor pages
- Support multiple conferences
- Add conference date
- Make the home page show upcoming conferences (within 5 days)
- Move agenda to separate page
- Make the names slugs instead of using IDs in the urls to navigate entities
- Add admin pages to manage:
- Tracks
- Attendees
- Conferences
- Sessions
- Speakers (allow speaker image upload)
- 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.