{"id":25012552,"url":"https://github.com/sergiocampbell/podcaster","last_synced_at":"2025-03-30T04:11:21.657Z","repository":{"id":213422859,"uuid":"733657684","full_name":"SergioCampbell/podcaster","owner":"SergioCampbell","description":"Take a look here and test it!","archived":false,"fork":false,"pushed_at":"2023-12-23T08:38:49.000Z","size":320,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-05T06:16:44.975Z","etag":null,"topics":["css3","jest","nextjs14-typescript","react","react-query","typescript"],"latest_commit_sha":null,"homepage":"https://podcaster-delta.vercel.app","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/SergioCampbell.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}},"created_at":"2023-12-19T20:37:06.000Z","updated_at":"2023-12-23T08:41:12.000Z","dependencies_parsed_at":"2023-12-21T00:19:17.432Z","dependency_job_id":null,"html_url":"https://github.com/SergioCampbell/podcaster","commit_stats":null,"previous_names":["sergiocampbell/podcaster"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SergioCampbell%2Fpodcaster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SergioCampbell%2Fpodcaster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SergioCampbell%2Fpodcaster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SergioCampbell%2Fpodcaster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SergioCampbell","download_url":"https://codeload.github.com/SergioCampbell/podcaster/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246273560,"owners_count":20750906,"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":["css3","jest","nextjs14-typescript","react","react-query","typescript"],"created_at":"2025-02-05T06:17:04.044Z","updated_at":"2025-03-30T04:11:21.638Z","avatar_url":"https://github.com/SergioCampbell.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![image](https://github.com/SergioCampbell/podcaster/assets/51247757/7d0936df-63e3-4a4d-8408-2d30cfccb245)\n\n# Podcaster\n\nPodcaster is a web application where you can search for the top 100 iTunes podcast artists and\nhear their content.\n\nNavigate filtering by podcast title or artist name, select the card and check it content.\n\nDEMO HERE: [https://podcaster-delta.vercel.app](https://podcaster-delta.vercel.app)\n\n## Architecture\n\nThis project uses a layered architecture, you would have separate layers for presentation (UI components), business logic (services and hooks), and data access (API calls and database operations).\n\n## Tools and Technologies\n\nList the tools and technologies used in your project:\n\n- TypeScript\n- Nextjs (14)\n- React\n- React-query\n- React-table\n- Jest\n- linkify-react\n- Eslint\n- AllOrigins\n\n## Project Structure\n\nOverview of the project structure:\n\n```\n└── 📁podcast\n    └── .eslintrc.json\n    └── 📁.swc\n        └── 📁plugins\n            ├── v7_windows_x86_64_0.104.30\n    └── 📁db\n        └── allPodcast.ts\n        └── data.ts\n    └── jest.config.ts\n    └── jest.setup.ts\n    └── next-env.d.ts\n    └── next.config.js\n    └── package-lock.json\n    └── package.json\n    └── 📁public\n        └── next.svg\n        └── vercel.svg\n    └── README.md\n    └── 📁src\n        └── 📁app\n            └── favicon.ico\n            └── globals.css\n            └── HomePage.tsx\n            └── page.module.css\n            └── page.tsx\n            └── 📁podcast\n                └── 📁[podcastId]\n                    └── 📁episode\n                        └── 📁[episodeId]\n                            └── page.tsx\n                    └── page.tsx\n            └── Providers.tsx\n        └── 📁components\n            └── ErrorComponent.tsx\n            └── Loading.tsx\n            └── navbar.tsx\n            └── 📁Podcast\n                └── DummyData.ts\n                └── Filter.tsx\n                └── PodcastCards.tsx\n                └── PodcastTable.tsx\n            └── Sidebar.tsx\n        └── 📁hooks\n            └── index.ts\n            └── 📁useQuery\n                └── usePodcast.ts\n                └── useQueryconfig.ts\n        └── 📁interface\n            └── podcastDetail.ts\n            └── podcasts.ts\n        └── 📁libs\n            └── apiUrl.ts\n            └── constans.ts\n            └── defaultValues.ts\n        └── 📁services\n            └── serviceFetcher.ts\n    └── tsconfig.json\n    └── 📁__test__\n        └── filter.test.tsx\n        └── navbar.test.tsx\n        └── podcast.test.tsx\n        └── podcastCard.test.tsx\n        └── sidebar.test.tsx\n        └── 📁__snapshots__\n            └── podcastCard.test.tsx.snap\n```\n\n## Installation\n\n- Clone the project\n- execute ```npm install``` or ```yarn```\n- Run ```npm run dev``` or ```yarn dev```\n\n## Usage\n\nOnce in \"dev mode\" open [http://localhost:3000](http://localhost:3000) with your browser to see the result.\nTo edit some values and add \"dynamicity\" go to the this path:\n\n```\n└── HomePage.tsx\n```\n\nand in the ``usePodcast()`` hook\n\n ````\n   const { data, isFetching, isLoading } = usePodcast(100); // ⬅️ You can change this number\n````\n\n## Testing\n\nThis project uses [Jest](https://jestjs.io) and to run the test just excecute the follow script:\n\n- ```npm run test``` or ```yarn test```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergiocampbell%2Fpodcaster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsergiocampbell%2Fpodcaster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergiocampbell%2Fpodcaster/lists"}