{"id":50763320,"url":"https://github.com/aadhar41/hacker-news","last_synced_at":"2026-06-11T12:02:50.738Z","repository":{"id":335798637,"uuid":"1139914397","full_name":"aadhar41/hacker-news","owner":"aadhar41","description":"A modern React application for searching and browsing Hacker News stories with an intuitive interface. Search for articles, view story details, and navigate through results with smooth pagination.","archived":false,"fork":false,"pushed_at":"2026-02-01T06:09:37.000Z","size":544,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-02-01T16:56:07.633Z","etag":null,"topics":["css3","git","github","html5","nodejs","npm","react","reactjs"],"latest_commit_sha":null,"homepage":"https://hacker-news-article.netlify.app/","language":"JavaScript","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/aadhar41.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2026-01-22T15:29:04.000Z","updated_at":"2026-02-01T06:09:15.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/aadhar41/hacker-news","commit_stats":null,"previous_names":["aadhar41/hacker-news"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/aadhar41/hacker-news","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aadhar41%2Fhacker-news","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aadhar41%2Fhacker-news/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aadhar41%2Fhacker-news/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aadhar41%2Fhacker-news/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aadhar41","download_url":"https://codeload.github.com/aadhar41/hacker-news/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aadhar41%2Fhacker-news/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34197394,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["css3","git","github","html5","nodejs","npm","react","reactjs"],"created_at":"2026-06-11T12:02:44.958Z","updated_at":"2026-06-11T12:02:50.733Z","avatar_url":"https://github.com/aadhar41.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hacker News Search Application\n\nA modern React application for searching and browsing Hacker News stories with an intuitive interface. Search for articles, view story details, and navigate through results with smooth pagination.\n\n## Features\n\n- **Real-time Search**: Search for Hacker News stories by keyword with instant results\n- **Story Details**: View article titles, authors, points, and comment counts at a glance\n- **Pagination**: Navigate through search results with next/previous buttons\n- **Loading States**: Visual feedback during data fetching for better UX\n- **Responsive Design**: Clean and modern UI that works seamlessly across all devices\n- **External Links**: Direct links to original articles and Hacker News discussions\n\n## Technologies\n\n- **React 18.2**: Modern React with hooks for building the user interface\n- **Context API**: Global state management for efficient data sharing\n- **Reducer Pattern**: Predictable state updates and action handling\n- **Hacker News API**: Integration with Algolia's Hacker News search API\n- **React Icons**: Beautiful icons for enhanced visual design\n\n![Home Page Screen](public/screens/home-page.png)\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js \u003e= 14.x\n- npm or yarn package manager\n\n### Installation\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/aadhar41/hacker-news.git\n   cd hacker-news\n   ```\n\n2. Install dependencies:\n\n   ```bash\n   npm install\n   ```\n\n## Usage\n\nRun the project locally:\n\n```bash\n# Start the development server\nnpm start\n\n# Build for production\nnpm run build\n\n# Run tests\nnpm test\n```\n\nThe application will open at `http://localhost:3000`\n\n## Architecture\n\nThis application follows modern React best practices:\n\n- **Component-Based Architecture**: Modular components for SearchForm, Stories, and Buttons\n- **Context API Pattern**: Centralized state management using React Context\n- **Reducer Pattern**: Predictable state updates with actions and reducers\n- **Custom Hooks**: `useGlobalContext` hook for accessing global state\n- **API Integration**: Asynchronous data fetching with error handling\n\n### Project Structure\n\n```text\nsrc/\n├── App.js              # Main application component\n├── context.js          # Context provider and custom hook\n├── reducer.js          # State reducer with action handlers\n├── actions.js          # Action type constants\n├── SearchForm.js       # Search input component\n├── Stories.js          # Story list display component\n├── Buttons.js          # Pagination controls\n└── index.css           # Global styles\n```\n\n## API\n\nThis application uses the [Hacker News Search API](https://hn.algolia.com/api) powered by Algolia.\n\n## Contributing\n\nContributions are welcome! Please read [CONTRIBUTING.md](CONTRIBUTING.md) for more details.\n\n## License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n\n## Author\n\n**Aadhar Gaur**\n\n- [LinkedIn](https://www.linkedin.com/in/aadhar-gaur-php/)\n- [GitHub](https://github.com/aadhar41)\n\n## Acknowledgments\n\n- [Hacker News](https://news.ycombinator.com/) for the content\n- [Algolia](https://www.algolia.com/) for the search API\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faadhar41%2Fhacker-news","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faadhar41%2Fhacker-news","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faadhar41%2Fhacker-news/lists"}