{"id":21301191,"url":"https://github.com/adrianomonteiroweb/solid-testable-api-architecture","last_synced_at":"2026-04-29T02:43:56.175Z","repository":{"id":109834820,"uuid":"537838409","full_name":"adrianomonteiroweb/solid-testable-api-architecture","owner":"adrianomonteiroweb","description":"Repository of architectural studies of a testable api with SOLID concepts in classes and TypeScript.","archived":false,"fork":false,"pushed_at":"2022-09-18T00:36:45.000Z","size":80,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-15T18:29:36.170Z","etag":null,"topics":["api","nodejs","solid","typescript","unit-testing","vitest"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/adrianomonteiroweb.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-09-17T14:46:57.000Z","updated_at":"2023-03-04T04:01:05.000Z","dependencies_parsed_at":"2023-04-25T01:01:39.776Z","dependency_job_id":null,"html_url":"https://github.com/adrianomonteiroweb/solid-testable-api-architecture","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/adrianomonteiroweb/solid-testable-api-architecture","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianomonteiroweb%2Fsolid-testable-api-architecture","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianomonteiroweb%2Fsolid-testable-api-architecture/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianomonteiroweb%2Fsolid-testable-api-architecture/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianomonteiroweb%2Fsolid-testable-api-architecture/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adrianomonteiroweb","download_url":"https://codeload.github.com/adrianomonteiroweb/solid-testable-api-architecture/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianomonteiroweb%2Fsolid-testable-api-architecture/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263061405,"owners_count":23407606,"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","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":["api","nodejs","solid","typescript","unit-testing","vitest"],"created_at":"2024-11-21T15:44:23.402Z","updated_at":"2026-04-29T02:43:46.162Z","avatar_url":"https://github.com/adrianomonteiroweb.png","language":"TypeScript","readme":"# SOLID TESTABLE API ARCHITECTURE\n\nRepository of architectural studies of a testable api with SOLID concepts in classes and TypeScript.\n\n### TECHNOLOGIES\n\n- DevDependencies:\n\n  - Eslint Standard;\n    - To standardize formatting during development.\n  - Vitest;\n    - Test module compatible with jest, typescript and others...\n  - date-fns.\n    - Used for handling dates in a function to generate future dates.\n\n### ENTITIES\n\n```bash\n...\n├── src\n  ├── entities\n    ...\n    ├── Appointment.ts\n    ...\n  ├── repositories\n  ├── tests\n  ├── use-cases\n...\n```\n\n- Appointment:\n\n  - customer;\n  - startAt;\n  - endAt.\n\n### USE CASES\n\n```bash\n...\n├── src\n  ├── entities\n  ├── repositories\n  ├── tests\n  ├── use-cases\n    ...\n    ├── create-appointment.ts\n    ...\n...\n```\n\n- create-appointment:\n  - CreateAppointment.\n\n### REPOSITORIES\n\n```bash\n...\n├── src\n  ├── entities\n  ├── repositories\n    ├── in-memory\n      ├── appointment-repository.ts\n  ├── tests\n  ├── use-cases\n...\n```\n\n- appointment-repository.\n\n### TESTING THE APPLICATION\n\n- Functions\n  - get-future-date\n    - Increases date with one year.\n\n```bash\n...\n├── src\n  ├── entities\n  ├── repositories\n  ├── tests\n    ├── utils\n      ...\n      ├── get-future-date.ts\n      ...\n  ├── use-cases\n...\n```\n\n- For application test, running:\n\n```zsh\nnpm test\n```\n\n```bash\n...\n├── src\n  ├── entities\n    ...\n    ├── appointment.spec.ts\n    ...\n  ├── repositories\n  ├── tests\n    ├── utils\n      ...\n      ├── get-future-date.spec.ts\n      ...\n  ├── use-cases\n    ...\n    ├── create-appointment.spec.ts\n    ...\n...\n```\n\n### REFERENCE\n\n\u003cdiv\u003e\n  \u003ctable\u003e\n    \u003cthead\u003e\n      \u003ctr\u003e\n        \u003cth\u003eRocketseat\u003c/th\u003e\n      \u003c/tr\u003e\n    \u003c/thhead\u003e\n    \u003ctbody\u003e\n      \u003ctr\u003e\n        \u003ctd\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/68549162?s=200\u0026v=4\" alt=\"Rocketseat\" width=\"100x\" /\u003e\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd style=\"text-align: center\"\u003e\n          \u003ca href=\"https://www.youtube.com/watch?v=jBOLRzjEERk\u0026ab_channel=Rocketseat\" target=\"_blank\"\u003eYoutube\u003c/a\u003e\n        \u003c/td\u003e\n      \u003c/tr\u003e\n    \u003c/tbody\u003e\n  \u003c/table\u003e\n\u003c/div\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrianomonteiroweb%2Fsolid-testable-api-architecture","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadrianomonteiroweb%2Fsolid-testable-api-architecture","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrianomonteiroweb%2Fsolid-testable-api-architecture/lists"}