{"id":30715843,"url":"https://github.com/struggling-student/fsm2suites","last_synced_at":"2026-05-03T12:38:40.477Z","repository":{"id":303262680,"uuid":"996997312","full_name":"struggling-student/FSM2Suites","owner":"struggling-student","description":"🧪From Models to Suites: FSM-Based Robot Test Generator","archived":false,"fork":false,"pushed_at":"2025-09-02T20:39:36.000Z","size":9798,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"develop","last_synced_at":"2025-09-02T22:19:49.503Z","etag":null,"topics":["nextjs","python","robotframework"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":false,"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/struggling-student.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-05T19:36:50.000Z","updated_at":"2025-09-02T20:39:40.000Z","dependencies_parsed_at":"2025-08-26T14:38:21.943Z","dependency_job_id":"cd869e4d-b86f-4173-8c92-d3e96a5b126e","html_url":"https://github.com/struggling-student/FSM2Suites","commit_stats":null,"previous_names":["struggling-student/softwareengineering","struggling-student/fsm2suites"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/struggling-student/FSM2Suites","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/struggling-student%2FFSM2Suites","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/struggling-student%2FFSM2Suites/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/struggling-student%2FFSM2Suites/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/struggling-student%2FFSM2Suites/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/struggling-student","download_url":"https://codeload.github.com/struggling-student/FSM2Suites/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/struggling-student%2FFSM2Suites/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273403953,"owners_count":25099300,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-03T02:00:09.631Z","response_time":76,"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":["nextjs","python","robotframework"],"created_at":"2025-09-03T07:02:53.101Z","updated_at":"2026-04-16T05:32:58.849Z","avatar_url":"https://github.com/struggling-student.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# FSM2Suites\n\nA compact project demonstrating generation of test suites from finite-state machines (FSMs). The repository includes:\n\n- an FSM-to-suite `generator/` with parsing and generation logic and unit tests;\n- a small demo `backend/` (FastAPI) implementing an example shopping API;\n- a `frontend/` (React + Vite) demo app showcasing the generated tests and API integration;\n- the project report and diagram sources in `docs/report`.\n\n**Highlights**\n\n- FSM-based test-suite generation and strategies.\n- End-to-end demo (frontend + backend) to validate generated suites.\n- LaTeX report and diagrams documenting architecture and FSMs.\n\n\n**Gallery**\n\nA compact two-column preview of the two main diagrams used in the report:\n\n\u003ctable\u003e\n\t\u003ctr\u003e\n\t\t\u003ctd align=\"center\"\u003e\n\t\t\t\u003cimg src=\"docs/report/figures/architecture.png\" alt=\"Architecture\" width=\"420\" /\u003e\n\t\t\t\u003cdiv\u003e\u003cstrong\u003eArchitecture\u003c/strong\u003e\u003c/div\u003e\n\t\t\u003c/td\u003e\n\t\t\u003ctd align=\"center\"\u003e\n\t\t\t\u003cimg src=\"docs/report/figures/data-flow.png\" alt=\"Data Flow\" width=\"420\" /\u003e\n\t\t\t\u003cdiv\u003e\u003cstrong\u003eData Flow\u003c/strong\u003e\u003c/div\u003e\n\t\t\u003c/td\u003e\n\t\u003c/tr\u003e\n\u003c/table\u003e\n\n**Quick Demo (local)**\n\n- Backend\n\n```bash\ncd backend\npython -m venv .venv\nsource .venv/bin/activate\npip install -r requirements.txt\nuvicorn main:app --reload --port 8000\n```\n\n- Frontend\n\n```bash\ncd frontend\nnpm install\nnpm run dev\n```\n\n- Generator (tests)\n\n```bash\npip install -r generator/requirements.txt\npytest generator/tests\n```\n\n**Project Layout**\n\n- `backend/` — FastAPI demo API and tests (`main.py`, `requirements.txt`).\n- `frontend/` — React + Vite demo application and tests.\n- `generator/` — FSM parsing, strategies and test-suite generation with unit tests.\n- `docs/report/` — LaTeX report, bibliography and diagram sources.\n\nContributions, issues and suggestions are welcome — open a GitHub issue or a pull request. If you'd like, I can add rendered PNG previews of the diagrams to the README.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstruggling-student%2Ffsm2suites","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstruggling-student%2Ffsm2suites","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstruggling-student%2Ffsm2suites/lists"}