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
- Add appropriate caching to FrontEnd site:
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:
- 1 - Build the back-end API with basic EF model
- 2 - Finish the back-end API and EF model, refactor into view modelsl
- 3 - Add front-end, render agenda, set up front-end models
- 4 - Add authentication, add admin policy, allow editing sessions, users can sign-in with Identity, custom auth tag helper
- 5 - Add user association and personal agenda
- 6 - Deployment, Azure and other production environments, configuring environments, diagnostics
- 7 - Challenges
- 8 - SPA front-end