A clean, modern portfolio that showcases my GitHub repositories with filtering capabilities and a responsive design.
- GitHub API Integration: Automatically fetches and displays repositories from GitHub
- Project Filtering: Filter projects by technology (React, Next.js, Jekyll, etc.)
- Best Projects: Highlight important projects at the top of the list
- Responsive Design: Works on desktop and mobile devices
- Dark Mode: Toggle between light and dark themes with automatic system preference detection
- Live Demo Links: Direct links to deployed project demos
- Sticky Footer: Footer stays at the bottom of the page regardless of content amount
- Next.js: React framework for server-side rendering and static site generation
- React: UI component library
- GitHub REST API v3: For fetching repository data
- CSS-in-JSX: Styled components using Next.js built-in styling
- localStorage: For persisting user theme preferences
- Node.js (v14 or later)
- npm or yarn
-
Clone the repository
git clone https://github.com/juanpablodiaz/repos.git cd repos
-
Install dependencies
npm install # or yarn install
-
Run the development server
npm run dev # or yarn dev
-
Open http://localhost:3000 in your browser
You can customize the portfolio by modifying the following variables in pages/index.js
:
GITHUB_USERNAME
: Your GitHub usernameHIDDEN_PROJECTS
: Array of repository names to hide from the portfolioBEST_PROJECTS
: Array of repository names to feature at the top (in order of appearance)
npm run dev
: Start development servernpm run build
: Build for productionnpm run start
: Start production servernpm run export
: Export as static HTMLnpm run clean
: Clean build directories and reinstall dependenciesnpm run format
: Format code with Prettiernpm run format:check
: Check code formatting without making changesnpm run test
: Run all testsnpm run test:watch
: Run tests in watch modenpm run test:coverage
: Run tests with coverage report
This project can be easily deployed to Vercel, Netlify, or GitHub Pages.
The easiest way to deploy this Next.js app is to use the Vercel Platform.
This project is open source and available under the MIT License.
Juan Pablo Diaz - GitHub