Run via Docker command, Self hosted in Visual studio 2022
To start via Docker, run follwing command in root folder
docker build . --tag smartbooking
docker run --env ASPNETCORE_ENVIRONMENT=docker --env ACESSTOKEN={ReplaceTokenHere} -d -p 5050:80 smartbooking:latest
App URL : http://localhost:5050
- Please reload once after main page loads
Swagger Docker URL : http://localhost:5050/swagger/index.html
- Reduce api cost if it incurs
- Have centralized caching, if Movies list and Movie price from same provider is same for a particualr time (does not change in realtime)
Caching is currently done via inbuilt memory cache
- Used polly to retry, should be configurable to reduce client wait time
- Used in Memory cache to cache
- Used hooks to cover functionalities needed in react. It would be still great to use redux.
- Authentication/Authorizations not covered
- if need another provider, only configuration need to be changed (MovieProvider, URL configs)
- Tests are not covered
- Not all devices are not testsed. For now optimised for Desktop site with 100%. Need some more changes for mobile/ipad
- Left nav deafault to main page
- Used Grommet (https://v2.grommet.io/) for all react components fore repsonsive components, have not used scss/css as it was not required for most
- Only showing the result for cheapest is needed, but button is not imeplemented
- Price remains till user click buy and purchase
- Also show other avaialble prices with provider for same movie (For comparisons)
- Paginations is not required - would be great to have infinite scroll
- All service provider give similar API response with minimal change - using same model all api repsonses. should be configurebale