https://github.com/programandoconro/repo-searcher
Search repositories with advanced filtering
https://github.com/programandoconro/repo-searcher
github-search mui react swr typescript
Last synced: 3 months ago
JSON representation
Search repositories with advanced filtering
- Host: GitHub
- URL: https://github.com/programandoconro/repo-searcher
- Owner: programandoconro
- Created: 2025-07-09T10:03:18.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-07-16T00:39:59.000Z (5 months ago)
- Last Synced: 2025-07-17T01:10:03.428Z (5 months ago)
- Topics: github-search, mui, react, swr, typescript
- Language: TypeScript
- Homepage: https://repo-searcher-mu.vercel.app
- Size: 191 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π΅ Repo Searcher
A responsive web application built with **[React](https://react.dev/)**, **[Vite](https://vitejs.dev/)**, **[MUI](https://mui.com/)**, and **[SWR](https://swr.vercel.app/)** that allows users to search GitHub repositories using keywords, advanced filters, and query qualifiers. Features include pagination, sorting, global state management, theming, and responsive design.
> π Live (deployed on Vercel): [https://repo-searcher-mu.vercel.app/](https://repo-searcher-mu.vercel.app/)
---
## β¨ Features
- π **Keyword Search**: Search GitHub repositories by name, description, or topic
- π§ **Advanced Search Modal**: Add filters for:
- `language`, `stars`, `user`, `topic`, `created`
- `good-first-issues`, `help-wanted-issues`
- βοΈ **Query Qualifier Support**: Type [GitHub search qualifiers](https://docs.github.com/en/search-github/searching-on-github/searching-for-repositories) directly into the search bar (e.g. `language:typescript stars:>100 topic:cli`)
- π’ **Pagination**: Browse results using GitHub's paginated API
- ποΈ **Sort & Order Menu**: Sort results by `stars`, `forks`, `help-wanted-issues`, or `updated`, and toggle ascending/descending order
- β¬οΈ **Expandable Descriptions**: Collapsible sections reveal full repository descriptions
- π **Shared State with [SWR](https://swr.vercel.app/)**: Used for both data fetching, caching results _and_ global UI state management
- π¨ **Dark/Light Mode**: Built with [MUI](https://mui.com/)'s theme system
- π± **Mobile-Friendly UI**: Responsive layout for all screen sizes
- π§© **Modular Architecture**: Well-structured and scalable component system
- π« **GitHub API Limit Handling**: Works within the 1,000 result cap of GitHubβs API
---
## π Tech Stack
- [**React**](https://react.dev/)
- [**Vite**](https://vitejs.dev/)
- [**TypeScript**](https://www.typescriptlang.org/)
- [**MUI (Material UI)**](https://mui.com/)
- [**SWR**](https://swr.vercel.app/)
- [**GitHub REST API**](https://docs.github.com/en/rest/search/search)
---
```bash
npm install
```
βΆοΈ Run the Dev Server
```bash
npm run dev
```
π Optional: GitHub Token
Avoid hitting GitHubβs unauthenticated API rate limits by setting a personal access token:
```bash
# .env
VITE_GITHUB_TOKEN=your_github_token
```