{"id":19326196,"url":"https://github.com/marlinsk/typescript-oop-clean-architecture","last_synced_at":"2026-04-11T14:31:18.490Z","repository":{"id":200807404,"uuid":"508395886","full_name":"Marlinsk/typescript-oop-clean-architecture","owner":"Marlinsk","description":"Project using the object-oriented programming paradigm with TypeScript and clean architecture.","archived":false,"fork":false,"pushed_at":"2023-10-26T04:37:13.000Z","size":80,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-26T23:18:16.807Z","etag":null,"topics":["clean-architecture","javascript","nodejs","oop","oriented-object-programming","prompt-sync","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Marlinsk.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}},"created_at":"2022-06-28T17:33:14.000Z","updated_at":"2025-05-28T18:43:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"30ecc1da-4dcd-4594-b91f-8f38d40ccc86","html_url":"https://github.com/Marlinsk/typescript-oop-clean-architecture","commit_stats":null,"previous_names":["marlinsk/typescript-poo-clean-architecture","marlinsk/typescript-oop-clean-architecture"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Marlinsk/typescript-oop-clean-architecture","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marlinsk%2Ftypescript-oop-clean-architecture","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marlinsk%2Ftypescript-oop-clean-architecture/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marlinsk%2Ftypescript-oop-clean-architecture/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marlinsk%2Ftypescript-oop-clean-architecture/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Marlinsk","download_url":"https://codeload.github.com/Marlinsk/typescript-oop-clean-architecture/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Marlinsk%2Ftypescript-oop-clean-architecture/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31684523,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T13:07:20.380Z","status":"ssl_error","status_checked_at":"2026-04-11T13:06:47.903Z","response_time":54,"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":["clean-architecture","javascript","nodejs","oop","oriented-object-programming","prompt-sync","typescript"],"created_at":"2024-11-10T02:12:45.463Z","updated_at":"2026-04-11T14:31:18.460Z","avatar_url":"https://github.com/Marlinsk.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# typescript-oop-clean-architecture\nMy first TypeScript project using the object-oriented programming paradigm and clean architecture. Much of what was developed here was meant to deconstruct the way I approach programming projects, where I would usually think about which programming language to use, the framework, the database, cloud services, and libraries. Much of this made me a hostage to them. In the end, we realize that these technologies only exist to solve a problem, and the problem is constantly changing, and there will always be a new one that requires a new solution to resolve it. In the end, we see that all the available technology is not enough, and that's when we sit in front of the computer and start developing a new solution to solve that problem.\n\nI created this project to reflect on these points, taking me back to the beginning of when I started programming, back in 2019, when my teacher taught me how to program without using Java utilities or pre-existing libraries to solve problems.\n\n## Objective\nTo develop a desktop application, revisiting past concepts learned during my college years. These concepts include object-oriented programming, clean code, clean architecture, and many of them serve as an initial foundation to start shaping the business rules of projects before using a framework or technology.\n\n## Technologies\n- Javascript\n- Typescript\n- prompt-sync (a library to facilitate interaction with the command prompt)\n\n## Project Design\nThe project was developed using concepts of:\n- Object-oriented programming\n- Clean code\n- Clean architecture\n\n## Tutorial\n**Note:** To follow the step-by-step instructions for running the application on your machine, you need to have knowledge of terminal commands, Git and GitHub commands, and npm package manager commands, as well as navigating between folders using the terminal.\n\n### Cloning and setting up the project\n**1º step: clone the repository to your machine from GitHub.**\n```bash\ngit clone https://github.com/Marlinsk/typescript-poo-clean-architecture.git\n```\n\n**2º step: Navigate to the project folder.**\n```bash\ncd typescript-poo-clean-architecture\n```\n\n**3º step: Run the command in the terminal to install the project dependencies.**\n```bash\nnpm install\n```\n\n**4º step: Execute the command to build the application.**\n```bash\nnpm run build\n```\nWithout the **dist file** generated by the build, the application will not work.\n\n**5º step: Run the command in the terminal to start the application, and feel free to test and play around.**\n```bash\nnpm run start\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarlinsk%2Ftypescript-oop-clean-architecture","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarlinsk%2Ftypescript-oop-clean-architecture","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarlinsk%2Ftypescript-oop-clean-architecture/lists"}