{"id":49573580,"url":"https://github.com/pitercoding/curso-typescript-dev-samurai","last_synced_at":"2026-05-03T15:39:12.140Z","repository":{"id":331355189,"uuid":"1125756510","full_name":"pitercoding/curso-typescript-dev-samurai","owner":"pitercoding","description":"[PT-BR] Repositório do curso de TypeScript do Dev Samurai, com projeto final do curso e exercícios criados por mim para fixar o conteúdo. [ENG] Repository for the Dev Samurai TypeScript course, with the course final project and exercises I created to reinforce learning.","archived":false,"fork":false,"pushed_at":"2026-01-05T16:04:30.000Z","size":106,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-03T15:39:09.616Z","etag":null,"topics":["course","curso","exercicios","exercises","projeto-final","typescript","vscode"],"latest_commit_sha":null,"homepage":"https://todo-list-dev-samurai.vercel.app/","language":"TypeScript","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/pitercoding.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-31T09:51:46.000Z","updated_at":"2026-01-05T16:04:33.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/pitercoding/curso-typescript-dev-samurai","commit_stats":null,"previous_names":["pitercoding/curso-typescript-dev-samurai"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pitercoding/curso-typescript-dev-samurai","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pitercoding%2Fcurso-typescript-dev-samurai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pitercoding%2Fcurso-typescript-dev-samurai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pitercoding%2Fcurso-typescript-dev-samurai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pitercoding%2Fcurso-typescript-dev-samurai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pitercoding","download_url":"https://codeload.github.com/pitercoding/curso-typescript-dev-samurai/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pitercoding%2Fcurso-typescript-dev-samurai/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32575114,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: 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":["course","curso","exercicios","exercises","projeto-final","typescript","vscode"],"created_at":"2026-05-03T15:39:11.394Z","updated_at":"2026-05-03T15:39:12.121Z","avatar_url":"https://github.com/pitercoding.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cimg src=\"projeto-final/public/assets/logo-light.png\" alt=\"Logo To Do List\" width=\"40\" style=\"vertical-align: middle; margin-right: 10px;\"\u003e\n  TypeScript Course - Dev Samurai\n\u003c/h1\u003e\n\n## 🧠 About\nThis repository contains all materials from the **Dev Samurai TypeScript course**, including lessons and the final project.  \n\n- **Final project:** originally provided by the course; I enhanced it with responsive CSS and small improvements.  \n- **Exercises:** all exercises were **proposed and solved by me** to reinforce the content and practice TypeScript.\n\n## 📚 Repository Structure\n\n```bash\ncurso-typescript-dev-samurai/\n├─ aulas/             # Lessons from the course\n├─ exercicios/        # Exercises proposed and solved by me\n├─ projeto-final/     # Final project (improved CSS and UI)\n│  ├─ public/\n│  │  ├─ assets/      # Favicon and logo images\n│  │  ├─ dist/        # Compiled JS from TypeScript\n│  │  ├─ index.html\n│  │  └─ style.css\n│  ├─ src/            # TypeScript source files\n│  ├─ package.json\n│  └─ tsconfig.json\n├─ README.md\n└─ LICENSE\n```\n\n## 🚀 How to Run the Final Project Locally\n1. Clone or fork the repository:\n```bash\ngit clone https://github.com/pitercoding/curso-typescript-dev-samurai.git\ncd curso-typescript-dev-samurai/projeto-final\n```\n2. Install dependencies:\n```bash\nnpm install\n```\n\n3. Build the project:\n```bash\nnpm run build\n```\n\n4. Open `public/index.html` in your browser or use a local server.\n   \n6. Optional: Watch mode for development:\n```bash\nnpm run dev\n```\n\n## 📝 Exercises Overview\n\nThis repository includes **80 TypeScript exercises** that I personally proposed and implemented to reinforce the learning from the course.  \n\nThe exercises cover key TypeScript concepts and practical coding scenarios, including:\n\n- **Conditionals:** if/else, switch, ternary operators\n- **Loops:** for, for...of, for...in, forEach, while\n- **Functions:** regular, arrow functions, parameters, return types\n- **Types:** string, number, boolean, array, tuple, enum, any, unknown, void\n- **Custom Types \u0026 Interfaces:** creating and using interfaces, type aliases\n- **DOM Typing:** safely accessing and manipulating HTML elements\n- **Classes \u0026 OOP:** classes, constructors, methods, visibility, inheritance\n- **Generics:** generic functions and classes\n- **Miscellaneous:** TypeScript best practices, strict typing, type guards\n\n**Exercise count:** 80  \n**Lesson count (aulas):** 25\n\n## 🏆 Final Project - Motivation\n\nThe **To Do List** project was provided by the course, and I improved it with:\n\n- **Responsive layout**\n- **CSS enhancements for buttons, forms, and lists**\n\n## ⚙️ Technologies \u0026 Tools\n\n- **TypeScript:** classes, interfaces, enums, strict typing\n- **HTML \u0026 CSS:** responsive layout and forms\n- **Vercel:** deployment of static HTML + JS\n\n## ✅ Status\n\n| Section        | Status        | Description                                           |\n|----------------|---------------|------------------------------------------------------|\n| Lessons (aulas)| ✅ Completed  | TypeScript fundamentals explained in practical examples |\n| Exercises      | ✅ Completed  | Proposed and implemented by me to reinforce learning |\n| Final Project  | ✅ Completed  | Provided by the course; improved CSS and UI          |\n| Deployment     | ✅ Done       | Hosted on Vercel                                     |\n\n---\n\n## 🧑‍💻 Author\n\n**Piter Gomes** — Computer Science Student (6th Semester) \u0026 Full-Stack Developer\n\n📧 [Email](mailto:piterg.bio@gmail.com) | 💼 [LinkedIn](https://www.linkedin.com/in/piter-gomes-4a39281a1/) | 💻 [GitHub](https://github.com/pitercoding) | 🌐 [Portfolio](https://portfolio-pitergomes.vercel.app/)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpitercoding%2Fcurso-typescript-dev-samurai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpitercoding%2Fcurso-typescript-dev-samurai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpitercoding%2Fcurso-typescript-dev-samurai/lists"}