Question Randomizer Microservice (Flask)
A focused Flask microservice built to integrate with a peer's CS 361 project as part of a class-wide distributed systems exercise. The service exposes a single POST /randomize endpoint: clients send a JSON body containing a pool of question IDs and an optional list of previously seen IDs, and the service returns a shuffled selection that deprioritizes recently seen entries to reduce repetition across sessions. The implementation handles edge cases cleanly — empty pools, fully-seen pools, malformed input — and returns structured JSON with appropriate status codes in all cases. Includes a lightweight test program that exercises the endpoint locally and documents the expected request/response contract. The project reinforced practical microservice design: a single responsibility, a clear interface, and behavior that's easy for a consumer to reason about.
Gallery
