#Welcome to the Serko.Expense.API wiki!
The solution is to parse raw text and return the legitimate contract to client
Key Features
- NextGen Solution: Developed in Visual Studio 2017 with .Net core 2.1
- Pipelines: Plug and play the middleware.
- Extendable: Future implementations can be added without altering the framework.
- Contracts: Added contracts instead of simple text.
How to run the application
- Open the solution in Visual studio
- Using Client
Run F5 or Ctrl F5
See the URL and Port
Open the client, preferably Postman and adjust the URL as observed above
Enter the input - Using Test Project
Change the input
Debug and see the response
Assumptions
-
Client/Server:
Web Api is hosted in inhouse server
Client is internal i.e., API is intranet
Agreed API Key for authentication -
Input:
Every request should have only one Expense and duplicate xml nodes are not allowed
Every legitimate request should result in valid response
Total is valid decimal value -
Output:
GST value
Decimal rounding to two positions
Client will check execution result -> status and errors for further analysis
Diagrams
*Component Interaction
Logs
located in root folder (Serko.Expense.API) or debug folder in Test
Future
- JWT Authentication
- Key/Token Hashed and Salted
- Logging extension to DB
- Integrating code coverage