Please complete 3 of the below exercises. You will need to complete the first 2, and then choose 1 from the remaining 3 however feel free to complete more than 3, or to elaborate on the ways you achieve the solution.
This test is designed to measure your coding knowledge and skill however as time is limited you are not expected to produce 100% production ready code in all cases. Most important is that the code works, and has the correct logical process and structure to solve the problem. Coding standards e.g. error logging and reporting, correct variable naming, conde commenting, unit testing are not required - you won't lose marks for forgetting to check a null reference here and there!
- Implement full CRUD management for Bookmarks. Users should be able to create a new category whilst creating a bookmark without requiring any page refresh
- The package has the default AspNetCore Identity installed however not implemented fully. Complete this implementation and change the entities to work on a per user basis. For additional credit, implement multiple membership providers allowing users to log in with OpenID services
- Expose an API allowing external systems to manage bookmarks. You will need to consider authentication / access tokens
- Track each time a user clicks out on one of their saved bookmarks and provide a simple dashboard which can show a summary of stats by user, and as an overview (e.g. for tracking the most popular links). Users should also be able to share a short url with their friends which when clicked would also log usage statictics and be reported on
- Provide 1 or more widgets that can be used in an external website, regardless of the server side technology. These can provide any functionality you choose - for example showing the most recent 5 bookmarks for a particular user, or the 3 most popular bookmarks today