{"id":26575872,"url":"https://github.com/ryanlarge13/timer-console","last_synced_at":"2026-04-27T12:36:19.986Z","repository":{"id":282810028,"uuid":"949709762","full_name":"RyanLarge13/Timer-Console","owner":"RyanLarge13","description":"Timer, alarm clock \u0026\u0026 stopwatch in the terminal","archived":false,"fork":false,"pushed_at":"2025-05-03T02:20:17.000Z","size":199,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-29T14:49:20.071Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RyanLarge13.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2025-03-17T02:26:54.000Z","updated_at":"2025-05-03T02:20:20.000Z","dependencies_parsed_at":"2025-03-31T20:26:17.149Z","dependency_job_id":"21e49a4f-b0d3-45cf-966e-79281027f2fb","html_url":"https://github.com/RyanLarge13/Timer-Console","commit_stats":null,"previous_names":["ryanlarge13/timer-console"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RyanLarge13/Timer-Console","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyanLarge13%2FTimer-Console","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyanLarge13%2FTimer-Console/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyanLarge13%2FTimer-Console/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyanLarge13%2FTimer-Console/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RyanLarge13","download_url":"https://codeload.github.com/RyanLarge13/Timer-Console/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyanLarge13%2FTimer-Console/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32337274,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"online","status_checked_at":"2026-04-27T02:00:06.769Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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-03-23T02:35:36.579Z","updated_at":"2026-04-27T12:36:19.981Z","avatar_url":"https://github.com/RyanLarge13.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ⏱️ Timer Console \n\nHandle time with this console based time management application. Set multiple\ntimers, alrams and start the stopwatch!\n\nC++ for fast, safe and reliable code. Garunteed to work in any Unix based\nsystem and is also compatable on windows systems using powershell.\n\nThis is a bare bones project. You are welcome to configure a cmake file or just\nsimply compile with GCC or clang\n\n## 🏗️ Compiling \n\nFirst make sure clang is installed. If you are on Mac it comes pre installed\n\n[Install Clang](https://clang.llvm.org/get_started.html)\n\n1. Open a terminal\n2. cd into directory\n\n```\n$ cd Timer-Console/\n```\n\n3. Check permissions\n\n```\n$ chmod 777 build.sh\n```\n\n4. Run build script using bash\n\n```\n$ bash build.sh\n```\n\n**If you ran into build errors you most likely do not have clang installed or a version of clang that is too outdated for the program. Required clang version 17+.**\n\n## Testing\n\n### 🧪 Types of Testing With Timer Console\n\nHere are the main types of testing relevant to this project and what should be\nperformed per new feature\n\nIn this project we use gtest\n\n**Unit Testing**\nTests individual functions or classes in isolation\n\nShould be fast and run frequently\n\nExample: Testing a Timer::create() method\n\n**System Testing**\nTests the entire application as a whole\n\nRun it. Compile and run it often. Try to break it\n\n**Regression Testing**\nEnsures that new changes don’t break old functionality\n\nRun after every change or before pushing new feature\n\n### 🛠️ General Testing Tips With Timer Console Development\n\n**Test often**: Write tests as you write code (test-driven development)\n\n**Isolate units**: Avoid relying on global state or external systems for unit tests\n\n**Automate**: Add your test scripts in ./build.sh\n\n**Mock dependencies**: For integration testing, mock out parts of your code (e.g., nlohmann)\n\n### Install gtest\n\nWhen running build.sh gtest should be installed automatically for you and the tests already associated with the application should run. No further configuration should be necessary until new tests are created and need to be added to build.sh\n\n[gtest intstall](https://github.com/google/googletest/blob/main/googletest/README.md)\n\n## 📖 How to use\n\nCheck out the docs for developers if you are interested in learning how to use this code or develop further with this project.\n\nThese docs where generated by Doxygen.\n\n[Docs](https://legendary-narwhal-a2300f.netlify.app/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanlarge13%2Ftimer-console","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryanlarge13%2Ftimer-console","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanlarge13%2Ftimer-console/lists"}