{"id":26531972,"url":"https://github.com/therealsatria/learnts","last_synced_at":"2026-03-10T00:31:52.723Z","repository":{"id":281877483,"uuid":"946718322","full_name":"therealsatria/learnts","owner":"therealsatria","description":"Proyek learning path Typescript dan implementasinya dengan Next.js.","archived":false,"fork":false,"pushed_at":"2025-03-12T12:07:51.000Z","size":234,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-05T15:04:59.090Z","etag":null,"topics":["generics","interface","nextjs","oop","typescript"],"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/therealsatria.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}},"created_at":"2025-03-11T15:13:36.000Z","updated_at":"2025-03-23T20:00:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"21f7dec7-8038-4bf2-b874-6204f1434e3b","html_url":"https://github.com/therealsatria/learnts","commit_stats":null,"previous_names":["therealsatria/learnts"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/therealsatria/learnts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/therealsatria%2Flearnts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/therealsatria%2Flearnts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/therealsatria%2Flearnts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/therealsatria%2Flearnts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/therealsatria","download_url":"https://codeload.github.com/therealsatria/learnts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/therealsatria%2Flearnts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30318406,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T20:05:46.299Z","status":"ssl_error","status_checked_at":"2026-03-09T19:57:04.425Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["generics","interface","nextjs","oop","typescript"],"created_at":"2025-03-21T18:34:35.220Z","updated_at":"2026-03-10T00:31:52.708Z","avatar_url":"https://github.com/therealsatria.png","language":"TypeScript","readme":"# TypeScript Learning Hub\n\nProyek pembelajaran interaktif untuk mempelajari TypeScript dan implementasinya dalam Next.js.\n\n## Tentang Proyek\n\nTypeScript Learning Hub adalah platform pembelajaran interaktif yang dirancang untuk membantu pengembang memahami TypeScript dan cara mengimplementasikannya dalam proyek Next.js. Proyek ini menyediakan contoh kode praktis, penjelasan konsep, dan implementasi nyata yang dapat dijalankan langsung di browser.\n\n## Fitur\n\n- **Modul Pembelajaran TypeScript**: Pelajari konsep-konsep dasar TypeScript seperti Generics, Interfaces, Arrow Functions, Type Assertions, Classes, Utility Types, dan Async/Await.\n- **Implementasi Next.js**: Pelajari cara mengimplementasikan TypeScript dalam proyek Next.js, termasuk API Routes, CRUD dengan Fake API, Typed Components, Custom Hooks, State Management, Form Handling, dan Best Practices.\n- **Contoh Interaktif**: Setiap modul dilengkapi dengan contoh kode yang dapat dijalankan langsung di browser.\n- **UI Modern**: Antarmuka pengguna yang modern dan responsif dengan dukungan mode gelap.\n\n## Struktur Proyek\n\n```\nsrc/\n├── app/\n│   ├── api/                      # API Routes\n│   │   ├── posts/                # API untuk posts\n│   │   └── users/                # API untuk users\n│   ├── arrow-functions/          # Modul Arrow Functions\n│   ├── async-await/              # Modul Async/Await \u0026 Promises\n│   ├── classes-inheritance/      # Modul Classes \u0026 Inheritance\n│   ├── generics-and-interfaces/  # Modul Generics \u0026 Interfaces\n│   ├── nextjs-implementation/    # Implementasi Next.js\n│   │   ├── api-routes/           # Modul TypeScript dengan API Routes\n│   │   └── crud-fake-api/        # Modul CRUD dengan Fake API (DummyJSON)\n│   ├── type-assertions-guards/   # Modul Type Assertions \u0026 Guards\n│   ├── typescript-modules/       # Halaman indeks modul TypeScript\n│   ├── utility-types/            # Modul Utility Types\n│   ├── page.tsx                  # Halaman beranda\n│   └── layout.tsx                # Layout aplikasi\n```\n\n## Cara Menjalankan Proyek\n\n1. Clone repositori:\n   ```bash\n   git clone https://github.com/username/typescript-learning-hub.git\n   cd typescript-learning-hub\n   ```\n\n2. Install dependensi:\n   ```bash\n   npm install\n   ```\n\n3. Jalankan server pengembangan:\n   ```bash\n   npm run dev\n   ```\n\n4. Buka [http://localhost:3000](http://localhost:3000) di browser Anda.\n\n## Teknologi yang Digunakan\n\n- **Next.js**: Framework React untuk aplikasi web\n- **TypeScript**: Bahasa pemrograman yang digunakan\n- **Tailwind CSS**: Framework CSS untuk styling\n- **React Icons**: Untuk ikon-ikon UI\n- **DummyJSON API**: Fake API untuk contoh operasi CRUD\n\n## Kontribusi\n\nKontribusi selalu diterima! Jika Anda ingin menambahkan modul baru, memperbaiki bug, atau meningkatkan dokumentasi, silakan buat pull request.\n\n## Lisensi\n\nProyek ini dilisensikan di bawah [MIT License](LICENSE).\n\n## Implementasi Next.js dengan TypeScript\n\n- [TypeScript dengan API Routes](/src/app/nextjs-implementation/api-routes/page.tsx)\n- [CRUD dengan Fake API](/src/app/nextjs-implementation/crud-fake-api/page.tsx)\n- [Typed Components \u0026 Props](/src/app/nextjs-implementation/typed-components/page.tsx)\n- [Custom Hooks dengan TypeScript](/src/app/nextjs-implementation/custom-hooks/page.tsx)\n- [State Management dengan TypeScript](/src/app/nextjs-implementation/state-management/page.tsx)\n- [Form Handling \u0026 Validation](/src/app/nextjs-implementation/form-handling/page.tsx)\n- [Project Structure \u0026 Best Practices](/src/app/nextjs-implementation/project-structure/page.tsx)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftherealsatria%2Flearnts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftherealsatria%2Flearnts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftherealsatria%2Flearnts/lists"}