Hi! I am
Przemysław Bąk {developer}
Serializer
Project links:


Used technologies:

Project completed:
2019-08-08
About the project:
This is a DEMO solution presenting Web API project processing raw POST and GET requests, and console application consuming the Web API, automatically creating database and sending requests.

Features:
  1. Generating random model objects.
  2. Sharing complex model and service layers by both applications.
  3. Automatically creating database and table migration with using of SQL commands.
  4. Logging exceptions in shared log.txt file.
  5. Generating generic info and error messages in console application with using of message service layer.
  6. Serialization of data to JSON, XML, UTF8 and deserialization from JSON.
  7. Compressing data by console application to GZip byte array, sending it and decompressing by API controller.
  8. Sending GET and raw POST requests.
  9. Configuration shared by console application, Web API and unit tests.
  10. Simple DAL.
  11. Saving XML formatted data to specified directory by Web API.
  12. Covering with unit tests console application, Web API controllers, service layer methods.
Approaches:
  • model and service layers in separate projects,
  • IoC for console application (Autofac),
  • complex type model for console app and Web API,
  • fake http message handler for unit testing purposes,
  • wrapping console inputs for unit testing purposes,
  • generic message system,
  • raw HTTP requests for handling compressed byte array request content,
  • singleton HttpClient for all requests,
  • managing connection lifetime.