{"id":24075016,"url":"https://github.com/codehass/tdd-project","last_synced_at":"2026-04-27T02:32:12.535Z","repository":{"id":149702278,"uuid":"614854007","full_name":"codehass/TDD-project","owner":"codehass","description":null,"archived":false,"fork":false,"pushed_at":"2023-03-16T16:31:20.000Z","size":11,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-12-27T11:06:31.102Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","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/codehass.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":"2023-03-16T13:06:15.000Z","updated_at":"2023-06-02T11:29:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"4e1e1b5c-75ae-4ce5-a5b2-d44a555df0fb","html_url":"https://github.com/codehass/TDD-project","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codehass/TDD-project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codehass%2FTDD-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codehass%2FTDD-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codehass%2FTDD-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codehass%2FTDD-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codehass","download_url":"https://codeload.github.com/codehass/TDD-project/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codehass%2FTDD-project/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32320280,"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-01-09T18:35:37.699Z","updated_at":"2026-04-27T02:32:12.511Z","avatar_url":"https://github.com/codehass.png","language":"Ruby","readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\n# 📗 Table of Contents\n\n- [📗 Table of Contents](#-table-of-contents)\n- [📖 Practice Test Driven Development(TDD) ](#-practice-test-driven-developmenttdd-)\n  - [🛠 Built With ](#-built-with-)\n  - [🛠 Tech Stack ](#-tech-stack-)\n    - [Key Features ](#key-features-)\n  - [💻 Getting Started ](#-getting-started-)\n    - [Prerequisites](#prerequisites)\n    - [Setup](#setup)\n    - [Install](#install)\n    - [Usage](#usage)\n  - [👥 Authors](#-authors)\n  - [🔭 Future Features ](#-future-features-)\n  - [🤝 Contributing ](#-contributing-)\n  - [⭐️ Show your support ](#️-show-your-support-)\n  - [🙏 Acknowledgments ](#-acknowledgments-)\n  - [❓ FAQ ](#-faq-)\n  - [📝 License ](#-license-)\n\n\u003c!-- PROJECT DESCRIPTION --\u003e\n\n# 📖 Practice Test Driven Development(TDD) \u003ca name=\"about-project\"\u003e\u003c/a\u003e\n\n\u003e In this project you will implement a class with some methods, but you will do it by doing test-driven development (TDD). Remember that the idea is to write tests first and then the code.\n\u003e #Project requirements\n\u003e\n\u003e - Create a class called Solver.\n\u003e   Create a method called factorial that takes one argument, an integer N, and returns the factorial for that number. The factorial is the multiplication of all integers from 1 to N and has the special case that the factorial of 0 is 1. This method only accepts 0 and positive integers, so if a negative integer is given it should raise an exception.\n\u003e   Create a method called reverse that takes one argument, a string word, and returns word reversed (e.g. if word is \"hello\" it returns \"olleh\").\n\u003e - Create a method called fizzbuzz that takes one argument, an integer N, and returns a string. The returned string is constructed following these rules:\n\u003e   When N is divisible by 3, return \"fizz\".\n\u003e   When N is divisible by 5, return \"buzz\".\n\u003e   When N is divisible by 3 and 5, return \"fizzbuzz\".\n\u003e   Any other case, return N as a string (e.g. say N is 7 then return \"7\").\n\u003e   Remember to start with tests for all of the methods described above. Your commit history should prove that you have used TDD.\n\n## 🛠 Built With \u003ca name=\"built-with\"\u003e\u003c/a\u003e\n\n## 🛠 Tech Stack \u003ca name=\"tech-stack\"\u003e\u003c/a\u003e\n\n  \u003cli\u003e\u003ca href=\"\"\u003eRuby\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href=\"\"\u003eRspec\u003c/a\u003e\u003c/li\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eClient\u003c/summary\u003e\n  \u003cul\u003e\n    \u003cli\u003e\u003ca href=\"\"\u003eRuby\u003c/a\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/details\u003e\n\n\u003c!-- Features --\u003e\n\n### Key Features \u003ca name=\"key-features\"\u003e\u003c/a\u003e\n\n\u003e - serves as good practice for TDD.\n\u003e - Reverse a string app.\n\u003e - FizzBuzz app\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- LIVE DEMO --\u003e\n\n\u003c!-- ## 🚀 Live Demo \u003ca name=\"live-demo\"\u003e\u003c/a\u003e --\u003e\n\n\u003c!-- - [Not Available]() --\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- GETTING STARTED --\u003e\n\n## 💻 Getting Started \u003ca name=\"getting-started\"\u003e\u003c/a\u003e\n\nTo get a local copy up and running, follow these steps.\n\n### Prerequisites\n\nIn order to run this project you need:\n\n- Mac or PC\n- Install Ruby\n- Understanding of Ruby\n- **IRB**\n- **Gems to test linters**\n- **RSpec to run tests**\n\n### Setup\n\nClone this repository to your desired folder:\n\n```sh\n  cd into your-folder\n git clone https://github.com/admirerbrown/TDD-project.git\n```\n\n### Install\n\nInstall this project with:\n\n- GitHub Actions\n- Linters\n- Rubocop\n- Ruby\n- Rspec\n\n### Usage\n\n- Use this project as a step to learning to practice building backend applications with Ruby and OOP concepts.\n  \u003e - run \"Rspec your-file-name\"\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- AUTHORS --\u003e\n\n## 👥 Authors\u003ca name=\"authors\"\u003e\u003c/a\u003e\n\n👤 **Samuel Kyere**\n\n- GitHub: [@admirerbrown](https://github.com/admirerbrown)\n- Twitter: [@admirerbrown](https://twitter.com/brown_admirer)\n- LinkedIn: [@samuelkyere](https://www.linkedin.com/in/samuel-ntow-kyere/)\n\n👤 **Hassan EL OUARDY**\n\n- GitHub: [@codehass](https://github.com/codehass)\n- Twitter: [@hassanelourdy](https://twitter.com/hassanelourdy)\n- LinkedIn: [Hassan El OUARDY](https://www.linkedin.com/in/hassan-el-ouardy-360b99169/)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- FUTURE FEATURES --\u003e\n\n## 🔭 Future Features \u003ca name=\"future-features\"\u003e\u003c/a\u003e\n\n- [ ] **Add more practice classes **\n- [ ] Add more complex requirements\n- [ ] Add console interface\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CONTRIBUTING --\u003e\n\n## 🤝 Contributing \u003ca name=\"contributing\"\u003e\u003c/a\u003e\n\nContributions, issues, and feature requests are welcome!\n\nFeel free to check the [issues page](https://github.com/admirerbrown/TDD-project/issues).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- SUPPORT --\u003e\n\n## ⭐️ Show your support \u003ca name=\"support\"\u003e\u003c/a\u003e\n\nIf you like this project, please leave a ⭐️\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- ACKNOWLEDGEMENTS --\u003e\n\n## 🙏 Acknowledgments \u003ca name=\"acknowledgements\"\u003e\u003c/a\u003e\n\nI would like to thank Microverse for providing us with reading materials that aided us to during the project development\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- FAQ (optional) --\u003e\n\n## ❓ FAQ \u003ca name=\"faq\"\u003e\u003c/a\u003e\n\n- **Can I use this code?**\n\n  - yes, it is open source. Feel free to fork it.\n\n- **Can I contribute to this project?**\n\n  - Contact me so I can add you as a collaborator. Alternatively you can leave an issue, it will be well appreciated.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- LICENSE --\u003e\n\n## 📝 License \u003ca name=\"license\"\u003e\u003c/a\u003e\n\nThis project is [MIT](./LICENSE) licensed.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodehass%2Ftdd-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodehass%2Ftdd-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodehass%2Ftdd-project/lists"}