GitHub Clone Project
A modern, responsive GitHub clone built with React and GraphQL
Overview
This project is a GitHub clone built using modern web technologies to mimic the core features of GitHub, such as viewing user profiles, repositories, and other essential functionalities. The project aims to provide a seamless and responsive user experience similar to GitHub.
Features
- User profile viewing
- Repository listing
- Search functionality
- Responsive design
Getting Started
To get a local copy of the project up and running, follow these steps.
Prerequisites
Ensure you have the following installed:
Installation
- Clone the repository:
```bash
git clone https://github.com/salskhal/github-react-clone
cd github-clone
- Install Dependencies:
```bash
npm install
or if you use Yarn
yarn install
- Set up environment variables:
Create a
.env
file in the root of the project and add the following environment variables:VITE_GITHUB_API_URL=https://api.github.com/graphql
VITE_GITHUB_ACCESS_TOKEN=YOUR_GITHUB_ACCESS_TOKEN
Replace YOUR_GITHUB_ACCESS_TOKEN
with your GitHub access token. You can generate a new access token by following the instructions here.
- Start the development server:
```bash
npm run dev
or if you use Yarn
yarn dev
- Open the browser and navigate to
http://localhost:5173
Technologies Used
- React - Frontend library for building user interfaces
- GraphQL - Query language for APIs and runtime for executing queries
- Apollo Client - State management library for React applications
- Tailwind CSS - Utility-first CSS framework for rapidly building custom designs
- Vite - Build tool that aims to provide a faster and leaner development experience for modern web projects
- TypeScript - Typed superset of JavaScript that compiles to plain JavaScript
- Zustand - State management library for React applications
- React Router - Declarative routing for React applications
- GitHub GraphQL API - API for querying GitHub data using GraphQL
Author
Contributing
Contributions are welcome! To contribute to the project, follow these steps:
- Fork the project
- Create a new branch (
git checkout -b feature/feature-name
)
- Make your changes
- Commit your changes (
git commit -am 'Add new feature'
)
- Push to the branch (
git push origin feature/feature-name
)
- Create a new Pull Request
Kindly contact me on :email: olaniyisal@gmail.com. You can review my resume here. :nerd_face:. Thank you