This project is a web application that allows users to search for GitHub repositories using the GitHub REST API. The application displays search results in a sortable and paginated table. By selecting a row in the table, users can view detailed information about the chosen repository.
- Search: Users can search for repositories by entering a query.
- Table View: The search results are displayed in a table with the following columns:
- Repository Name
- Language
- Forks Count
- Stars Count
- Last Updated Date
- Details View: Clicking on a table row displays the details of the selected repository, including:
- Repository Name
- Description
- License Information
- Sorting: Users can sort the table by the number of stars, forks count, or last updated date in both ascending and descending order.
- Pagination: The table supports pagination to navigate through search results.
- React: UI development.
- TypeScript: Type-safe JavaScript.
- Redux Toolkit: State management and API data fetching.
- MUI (Material-UI): UI component library.
- Sass: For styling with CSS Modules.
- Node.js and pnpm installed on your machine.
- Clone the repository:
git clone https://github.com/LiRiK000/Invitation_Solutions cd Invitation_Solutions
- Install dependencies:
pnpm install
- Run the application:
pnpm dev
- Open the application:
Open http://localhost:5173 view it in the browser.
API Integration:
The application uses the GitHub REST API to fetch repository data based on the user's search query. The API calls are managed through Redux Toolkit's createAsyncThunk to handle loading states and data fetching.
Feel free to fork and contribute to this project. Any feedback is welcome!