{"id":29261241,"url":"https://github.com/streamlabs/streamlabs-cpp-assignment","last_synced_at":"2026-02-05T04:01:21.220Z","repository":{"id":90070642,"uuid":"491298777","full_name":"streamlabs/streamlabs-cpp-assignment","owner":"streamlabs","description":"Streamlabs C++ technical assignment","archived":false,"fork":false,"pushed_at":"2022-05-11T23:33:13.000Z","size":3,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-31T19:19:13.180Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/streamlabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-11T23:15:45.000Z","updated_at":"2022-05-12T16:37:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"b04806ab-fe38-45a0-9c8a-da0ee21dcdbf","html_url":"https://github.com/streamlabs/streamlabs-cpp-assignment","commit_stats":null,"previous_names":["streamlabs/streamlabs-cpp-assignment"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/streamlabs/streamlabs-cpp-assignment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamlabs%2Fstreamlabs-cpp-assignment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamlabs%2Fstreamlabs-cpp-assignment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamlabs%2Fstreamlabs-cpp-assignment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamlabs%2Fstreamlabs-cpp-assignment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/streamlabs","download_url":"https://codeload.github.com/streamlabs/streamlabs-cpp-assignment/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamlabs%2Fstreamlabs-cpp-assignment/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29110544,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T03:44:17.043Z","status":"ssl_error","status_checked_at":"2026-02-05T03:44:12.077Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-04T08:07:48.003Z","updated_at":"2026-02-05T04:01:21.215Z","avatar_url":"https://github.com/streamlabs.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Streamlabs C++ Project\n\nHi there! Thank you for your interest in joining the C++ team working on the Streamlabs Desktop streaming application. Thank you so much for taking the time to read through and complete this project.\n\nAt Streamlabs we are committed to building a talented, empathic, and passionate team, which is made possible by your investment in this process. We are deeply grateful for your time, passion, and interest.\n\n# The project\n\nYou will be building a C++ program and an external shared library that interacts with each other. The goal is to create customers that will be buying products from a store.\n\n# Description:\n\n - The library should expose a store containing different products (microphones, webcams, keyboard, etc…)\n - Each product should be under a specific product family and have specific information such as a retail price, name, id, number of sales, etc ..\n - The C++ program should be able to make calls to the library and be viewed as customers. Two customers should be spawned and making simultaneous calls to the store (i.e the library) and buy products\n - The state of the store should be managed from the library itself and loaded/saved from the assets/store.json file\n - A sale should result in the creation of a receipt saved locally on the disk\n\n# Please consider the following requirements:\n\n - The preferred operating system should be Windows 10/11\n - CMAKE should be used to configure the projects\n - GIT should be used along with github\n - 2 git repositories should be used (1 for each entity). The C++ program should integrate the C++ library as a git submodule\n - The runtime should be explicitly linked dynamically\n - This assignment should use the C++ 17 standard\n - No extra dependencies should be used other than the standard, the native OS APIs and https://github.com/nlohmann/json to parse JSON\n\n# High level API that the library should expose:\n\n - Fetch the list of all product families\n - Fetch all products in the store for a given product family\n - Fetch the information of a specific product given its ID\n - Purchase a product\n\n# Documentation \u0026 Thought process\n\nPlease include a README.md file that includes the following information:\n\n - Instructions on how to run your application\n - Your brief answers to the following questions:\n   - How long did it take you to complete this assignment?\n   - What about this assignment did you find unclear?\n   - Do you feel like this assignment has an appropriate level of difficulty?\n   - Briefly explain the technical decisions you made in this project, i.e. architecture, code-splitting, librairies, or other decisions and tradeoffs.\n\n# Questions\n\nPlease email us if you have any questions along the way. We will try our best to help guide you through any confusion. Feel free to make assumptions and document them as you go as well.\n\n# Submissions\n\nPlease submit your completed assignment via email to the recruiter who sent it to you. You can submit your assignment by pushing it to a Github repository and include a link to the repository.\n\nWe want to thank you again for your time and for your interest in joining the engineering team at Streamlabs!\n\n\n   \n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstreamlabs%2Fstreamlabs-cpp-assignment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstreamlabs%2Fstreamlabs-cpp-assignment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstreamlabs%2Fstreamlabs-cpp-assignment/lists"}