Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/valentinosvaldo/github-profile
Show github profiles with his repositories
https://github.com/valentinosvaldo/github-profile
github react unit-testing
Last synced: 6 days ago
JSON representation
Show github profiles with his repositories
- Host: GitHub
- URL: https://github.com/valentinosvaldo/github-profile
- Owner: ValentinOsvaldo
- Created: 2024-11-03T07:58:22.000Z (13 days ago)
- Default Branch: main
- Last Pushed: 2024-11-03T09:03:51.000Z (13 days ago)
- Last Synced: 2024-11-03T09:17:18.550Z (13 days ago)
- Topics: github, react, unit-testing
- Language: TypeScript
- Homepage: https://github-profile-rho-nine.vercel.app
- Size: 350 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GitHub Profile
A React + TypeScript application that fetches and displays GitHub profiles along with their repositories. Built with modern web technologies, including Vite, ShadCN UI components, and tested using Vitest and Cypress for a robust and reliable user experience.
## ๐ธ Demo
[๐ Visit the demo](https://github-profile-rho-nine.vercel.app/)
![Github Profile](https://github.com/ValentinOsvaldo/github-profile/blob/main/public/preview.png?raw=true)
## ๐ Features
- **GitHub Profile Lookup**: Search for GitHub users by username to view their profile information.
- **Repositories List**: Display a list of public repositories with additional details.
- **Interactive UI**: Modern, accessible, and responsive design using ShadCN components.
- **Testing Suite**: Comprehensive testing using Vitest and Cypress for unit and end-to-end tests.
- **Error Handling**: Graceful handling of network errors and non-existent profiles.## ๐ ๏ธ Tech Stack
- **Frontend**: [React](https://reactjs.org/) + [TypeScript](https://www.typescriptlang.org/)
- **Styling**: [ShadCN](https://shadcn.dev/)
- **Build Tool**: [Vite](https://vitejs.dev/)
- **Testing**: [Vitest](https://vitest.dev/) for unit tests, [Cypress](https://www.cypress.io/) for end-to-end tests## ๐ฆ Installation
1. **Clone the repository**:
```bash
git clone https://github.com/ValentinOsvaldo/github-profile.git
cd github-profile
```2. **Install dependencies**:
```bash
npm install
```3. **Run the project**:
```bash
npm run dev
```4. **Access the app**:
Open your browser and go to `http://localhost:3000`.## ๐งช Running Tests
- **Unit Tests** (using Vitest):
```bash
npm run test
```- **End-to-End Tests** (using Cypress):
```bash
npm run test:e2e:dev
```## โ๏ธ Project Structure
```plaintext
src/
โโโ components/ # Reusable UI components
โโโ pages/ # Page components
โโโ hooks/ # Custom hooks
โโโ App.tsx # Main app component