Skip to content

Instantly share code, notes, and snippets.

Flight Availability and Pricing Service

Scenario

Build a service that aggregates flight availability and pricing from multiple airlines and travel agencies. The service allows users to search for flights between two cities, specifying a date range and preferences. It recommends the best flights based on price and availability, considering factors like layovers and travel duration.


Requirements

@ambersariya
ambersariya / Kata - TV Price Comparison Service.md
Created January 8, 2025 11:58
Kata - TV Price Comparison Service

Modernized TDD Scenario: TV Price Comparison Service

Scenario

Test-drive code that compares prices on smart TVs from three different sources, each with modern or legacy data access methods. The service will allow users to specify the make and model of a TV and recommend the retailer(s) offering the best price.

Data Sources

  1. Screen Bargains
  • An online retailer providing a RESTful web API.
@ambersariya
ambersariya / Kata - Music Streaming Service.md
Last active January 8, 2025 11:59
Kata - Music Streaming Service

Music Streaming Service

Scenario

Test-drive code that manages the catalog and subscriptions of a digital music streaming service. Customers can browse and search the catalog by title, artist, and genre. Record labels and independent artists submit their tracks to the platform, and the service maintains a catalog with details about each track, including the streaming rights and availability status.

Key Features

  1. Track Availability
  • Maintain a count of how many streams are available for promotional tracks or limited-time releases.
@ambersariya
ambersariya / architecture.md
Last active November 10, 2022 14:23
Architecture reading list

"Our Job as Architect is to be the 3 year old version of ourselves and keep asking questions, because everyone keeps bringing us solutions rather than problems."

Resources

Videos/Articles below:

Keynote 'Stories Every Developer Should Know' Neal Ford, Director, ThoughtWorks

https://www.youtube.com/watch?v=LlzVx3jHQIY

Katas:

@ambersariya
ambersariya / install-firefox-developer
Last active July 27, 2021 09:06
Install Latest Firefox Developer Edition
#!/usr/bin/env bash
FIREFOX_HOME_LOCAL_BIN=$HOME/.local/bin/
echo "Installing latest firefox developer edition in ${FIREFOX_HOME_LOCAL_BIN}"
mkdir -p $FIREFOX_HOME_LOCAL_BIN
wget "https://download.mozilla.org/?product=firefox-devedition-latest-ssl&os=linux64&lang=en-US" -O firefox.tar.bz2
echo "Downloaded latest firefox developer edition"
@ambersariya
ambersariya / tw-tech-test-merchants-guide.md
Last active October 27, 2022 15:34
Thoughtworks Tech Test

Merchant's Guide to Galaxy

You decided to give up on earth after the latest financial collapse left 99.99% of the earth's population with 0.01% of the wealth. Luckily, with the scant sum of money that is left in your account, you are able to afford to rent a spaceship, leave earth, and fly all over the galaxy to sell common metals and dirt (which apparently is worth a lot).Buying and selling over the galaxy requires you to convert numbers and units, and you decided to write a program to help you.The numbers used for intergalactic transactions follows similar convention to the roman numerals and you have painstakingly collected the appropriate translation between them.Roman numerals are based on seven symbols:

Symbol Value

- I 1
- V 5
- X 10
- L 250
@ambersariya
ambersariya / wav_to_m4a_mono.md
Last active November 20, 2017 12:53
Audio conversion with FFMPEG

Convert audio clips to M4a Mono acceptable by AR Studio

e.g. WAV audio to M4a as follows using FFMPEG

$> ffmpeg -i my_audio_clip.wav -ac 1 my_audio_clip.m4a
@ambersariya
ambersariya / CompactBundle.php
Created October 5, 2017 08:24 — forked from FaKleiser/CompactBundle.php
CompactBundle for DDD applications with Symfony. See this blog post for more information: http://www.fabian-keller.de/blog/domain-driven-design-with-symfony-a-folder-structure
<?php
namespace Fk\Core\Infrastructure\Bundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
/**
* The compact bundle combines a bundle definition with an {@link ExtensionInterface} to provide sound defaults for
* implementing custom bundles.
*/
abstract class CompactBundle extends Bundle