A modern GitHub user discovery application built with React Router v7, TypeScript, and Tailwind CSS.
- 🔍 Search GitHub users by username
- 👤 View detailed user profiles with statistics
- 📊 Display user repositories and activity
- 🎨 Modern, responsive design with dark mode support
- ⚡️ Built with React Router v7 and TypeScript
- 🎉 Beautiful Tailwind CSS styling
- 📱 Mobile-first responsive design
- Node.js 18+
- pnpm (recommended) or npm
Install the dependencies:
pnpm install
- Copy the example environment file:
cp .env.example .env
- Get GitHub API credentials:
- Go to GitHub Developer Settings
- Create a new OAuth App
- Copy the Client ID and Client Secret
- Add them to your
.env
file:
VITE_REACT_APP_CLIENT_ID=your_github_client_id_here
VITE_REACT_APP_CLIENT_SECRET=your_github_client_secret_here
Note: The app will work without these credentials, but you'll have rate limiting from GitHub's API.
Start the development server with HMR:
pnpm dev
Your application will be available at http://localhost:5173
.
- Search Users: Enter a GitHub username in the search box to find users
- View Profiles: Click "View Profile" on any user card to see detailed information
- Explore Repositories: Browse the user's recent repositories and statistics
- Navigate: Use the navigation bar to switch between Home and About pages
Create a production build:
pnpm build
To build and run using Docker:
docker build -t my-app .
# Run the container
docker run -p 3000:3000 my-app
The containerized application can be deployed to any platform that supports Docker, including:
- AWS ECS
- Google Cloud Run
- Azure Container Apps
- Digital Ocean App Platform
- Fly.io
- Railway
If you're familiar with deploying Node applications, the built-in app server is production-ready.
Make sure to deploy the output of npm run build
├── package.json
├── package-lock.json (or pnpm-lock.yaml, or bun.lockb)
├── build/
│ ├── client/ # Static assets
│ └── server/ # Server-side code
- React Router v7 - Modern routing and data loading
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first CSS framework
- GitHub API - User and repository data
- Vite - Fast build tool and dev server
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is open source and available under the MIT License.
Built with ❤️ by Mahmudul Alam using React Router v7.