Challenge Overview
Here's the Match Leaderboard.
Problem Description
Alice is mad over coffee and she loves to try out each type of coffee. She becomes so addictive that she decides to open an online e-commerce website for premium coffee beans. Alice goes online and collects data about various species arranged in the following format:
e-commerce/coffee/{species}/images/30sdfknl09123-arabica-23ij09d67as5123.pnge-commerce/coffee/{species}/about/desc.txt
e-commerce/coffee/{species}/about/price.txt
where {species} is the name of the coffee species, images contain multiple images of the respective species and about contains description and price of the respective species in a single file named desc.txt and price.txt respectively. Price.txt contains price with upto 2 decimal places without currency.
Alice decides to share what she has collected with the outside world. But she doesn't want to share it without knowing about them.
We need to help Alice out with an API that helps her share data in a secure and best possible way.
Platform Functionalities
- The API should provide a way to list all the species available.
- The API should provide a way to provide data for any specific species whose name would provide as an input.
Constraints and Guidelines
- All file names are case sensitive depending on the underlying file system. For e.g. on Windows with NTFS file systems, file names are case insensitive, but on macOS/Linux, file names may / may not be case sensitive.
- The provided solution should be OS independent.
- Alice only downloads .png files.
- Your platform should not take more than 4 seconds for any operation, for example, a request to the API should respond within 4 seconds, a screen should be shown in 4 seconds etc.
- Your solution should have a Dockerfile and a corresponding docker-compose. Problem testers should be able to start the app with a simple command : docker-compose up -d
- Please use the forums to ask any doubts.
- We will judge your submission based on the requirements being fulfilled, so as long as the requirements are met, you would be rewarded with points for that particular problem.
- Minimal code quality is expected, for the reviewer to review the submission and go through your code
- Obvious and deliberate code obfuscation will be rejected.
- Collaborating/Cheating in any way with anyone else (member or not) during a rated event is considered cheating.
- An excessive amount of unused content should be avoided.
- Code Readability is expected with necessary comments, indentation and somewhat refactored code (as much as possible)
Technology Stack
Whatever you feel like using.
Final Submission Guidelines
Your submission must be a single ZIP file not larger than 500 MB, with your solution.