Simple Phone Book Web Api-s with .Net Core
Requirements:
Develop a reusable library in any known high level programming language to manage phone books for users. No user interface is required, only an API to create, delete and edit phone book entries. Each entry would contain: name (first and last), type (Work, Cellphone or Home) and number. Multiple entries under the same name are allowed. The persistence format of the phone book library must be a file, (i.e. XML, JSON, Binary etc.) and is not an embedded DB (i.e. SQLite, Access, Excel, etc. are not allowed). In addition to creating/editing/deleting, the library also needs to support iterating over the list in alphabetical order or by the first or last name of each entry. The library should be ready for other persistence formats even though only the implementation for a file storage is currently required.
Nice-to-do:
- You are encouraged to use C# .NET Framework 3.5 or later
- User interface
- Having unit tests in your project is a plus (preferably with NUnit)
- Thread-safety of the library is a nice-to-have feature.
- XML documentation of the API is welcome, too
NOTE: A short list of the assumptions that you made when designing/implementing the API.