Skip to content
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
github: nixrajput
ko_fi: nixrajput
buy_me_a_coffee: nixrajput
thanks_dev: u/gh/nixrajput
open_collective: nixrajput
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ body:
id: terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/nixrajput/flutter_carousel_widget/CODE_OF_CONDUCT.md).
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/nixrajput/portfolio-nextjs/blob/master/CODE_OF_CONDUCT.md).
options:
- label: I agree to follow this project's Code of Conduct
required: true
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ body:
id: terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/nixrajput/flutter_carousel_widget/CODE_OF_CONDUCT.md).
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/nixrajput/portfolio-nextjs/blob/master/CODE_OF_CONDUCT.md).
options:
- label: I agree to follow this project's Code of Conduct
required: true
Expand Down
87 changes: 87 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# Pull Request Checklist

## What does this PR do?

<!-- **Please provide a clear and concise description of the changes in this PR.** Example: -->

<!--

- Adds/improves functionality for the carousel widget
- Fixes bugs or issues
- Adds new features like autoplay, infinite scrolling, etc.
- Optimizes performance or enhances accessibility

-->

## **Checklist**

### Code Changes

- [ ] I have added new features to the package (e.g., autoplay, indicator customization, etc.)
- [ ] I have fixed existing issues (e.g., performance, edge cases)
- [ ] I have improved the overall structure or optimized the codebase

### Documentation

- [ ] I have updated the README file or relevant documentation with the changes
- [ ] I have added code usage examples or updated existing examples to reflect changes
- [ ] I have updated the package version in the `pubspec.yaml` file

### Testing

**General Tests**

- [ ] The carousel widget works correctly with default settings
- [ ] The carousel can handle a dynamic number of children (images, texts, etc.)
- [ ] The carousel supports custom widgets for carousel items

**Autoplay Feature**

- [ ] Autoplay starts when enabled and stops when disabled
- [ ] Autoplay pauses when the user interacts (swipes/taps) with the carousel
- [ ] Autoplay resumes after interaction

**Indicators and Customization**

- [ ] The carousel displays indicators correctly and updates when navigating through slides
- [ ] Custom indicators (colors, shapes, positions) are rendered correctly
- [ ] Custom animations or transitions between slides work as expected

**Looping and Scrolling**

- [ ] Infinite loop mode works smoothly without any jumps or glitches
- [ ] The carousel scrolls smoothly horizontally and/or vertically
- [ ] Pagination and snapping behavior works as expected

**Accessibility**

- [ ] The carousel widget supports screen readers (e.g., `Semantics` labels added)
- [ ] Users can navigate between items using a keyboard (if necessary)

**Responsiveness**

- [ ] The carousel adapts to different screen sizes (mobile, tablet, desktop)
- [ ] The carousel responds correctly to device orientation changes

**Error Handling**

- [ ] The carousel handles empty/null items gracefully
- [ ] The carousel handles large data sets without crashes or performance drops

### Performance

- [ ] I ran performance tests to ensure no regressions
- [ ] The carousel renders efficiently, even with a large number of items

### How did you verify your code works?

<!-- **Please explain how you tested the code changes.** Example: -->

<!--

- I have written unit tests covering the new features
- I ran manual tests to check various carousel configurations (autoplay, infinite loop, custom widgets)
- I verified the carousel on different devices and screen sizes
- All tests pass locally (`flutter test`)

-->
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@

# misc
.DS_Store
**/.DS_Store
*.pem

# debug
Expand All @@ -37,4 +38,6 @@ next-env.d.ts
# lock
package-lock.json
pnpm-lock.yaml
yarn.lock
yarn.lock
bun.lock
bun.lockb
5 changes: 0 additions & 5 deletions .vscode/settings.json

This file was deleted.

8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Contributing to the Portfolio Website
# Contributing to the Portfolio Monorepo

We appreciate your interest in contributing to the Portfolio Website built with Next.js and Sass. By contributing, you help make this project better and more accessible for others. Please take a moment to review the following guidelines to ensure a smooth and collaborative development process.
We appreciate your interest in contributing to the Portfolio Monorepo built with Next.js and Sass. By contributing, you help make this project better and more accessible for others. Please take a moment to review the following guidelines to ensure a smooth and collaborative development process.

## Code of Conduct

Expand Down Expand Up @@ -56,8 +56,8 @@ Here are the steps to contribute to this project:

## Reporting Issues

If you encounter any issues or bugs while using the Portfolio Website, please report them on the [Issues](https://github.com/nixrajput/portfolio-nextjs/issues) page of the repository. Provide as much detail as possible to help us understand and address the problem.
If you encounter any issues or bugs while using the Portfolio Monorepo, please report them on the [Issues](https://github.com/nixrajput/portfolio-nextjs/issues) page of the repository. Provide as much detail as possible to help us understand and address the problem.

## Thank You

Thank you for contributing to the Portfolio Website project. Your contributions help make this project better and more valuable to its users. We appreciate your time and effort in making this project a success!
Thank you for contributing to the Portfolio Monorepo project. Your contributions help make this project better and more valuable to its users. We appreciate your time and effort in making this project a success!
124 changes: 101 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# Portfolio Website with Next.js and Sass
# Portfolio Website Monorepo

This repository contains the source code for a portfolio website built using Next.js and Sass. This README.md file provides an overview of the project and instructions on how to set it up and customize it for your own use.
This repository contains the source code for two versions of my portfolio website. The repository is structured as a monorepo with both versions maintained in a single codebase but deployed to different domains.

- **v1**: Original portfolio website built with Next.js 14 and Sass
- **v2**: New redesigned portfolio website built with Next.js 15 and Tailwind CSS v4

[![Stars](https://img.shields.io/github/stars/nixrajput/portfolio-nextjs?label=Stars&style=flat)][repo]
[![Forks](https://img.shields.io/github/forks/nixrajput/portfolio-nextjs?label=Forks&style=flat)][repo]
Expand All @@ -14,29 +17,62 @@ This repository contains the source code for a portfolio website built using Nex

## Table of Contents

- [Portfolio Website with Next.js and Sass](#portfolio-website-with-nextjs-and-sass)
- [Portfolio Website Monorepo](#portfolio-website-monorepo)
- [Table of Contents](#table-of-contents)
- [Repository Structure](#repository-structure)
- [Features](#features)
- [v1 (Original Portfolio)](#v1-original-portfolio)
- [v2 (New Portfolio)](#v2-new-portfolio)
- [Screenshots](#screenshots)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Usage](#usage)
- [Running v1](#running-v1)
- [Running v2](#running-v2)
- [Customization](#customization)
- [Changing Content](#changing-content)
- [For v1:](#for-v1)
- [For v2:](#for-v2)
- [Deployment](#deployment)
- [Deploying v1](#deploying-v1)
- [Deploying v2](#deploying-v2)
- [Contributing](#contributing)
- [License](#license)
- [Sponsor Me](#sponsor-me)
- [Connect With Me](#connect-with-me)
- [Activities](#activities)

## Repository Structure

This repository is organized as a monorepo with the following structure:

```
/
├── v1/ # Original portfolio website (Next.js 14)
├── v2/ # New portfolio website (Next.js 15)
├── package.json # Root package.json with workspace configuration
├── README.md # This file
└── LICENSE # MIT License
```

## Features

- Responsive design for various screen sizes.
- A customizable portfolio section to showcase your projects.
- An about section to introduce yourself.
- Easily customizable with Sass for styling.
### v1 (Original Portfolio)

- Responsive design for various screen sizes
- Portfolio section to showcase projects
- About section with personal information
- Customizable with Sass for styling
- Built with Next.js 14 and React 18

### v2 (New Portfolio)

- Modern design with enhanced UI/UX
- Built with Next.js 15 and React 19
- Styled with Tailwind CSS v4
- Improved performance and accessibility
- Dark mode support

## Screenshots

Expand Down Expand Up @@ -91,39 +127,81 @@ You need to have the following software installed on your computer:

## Usage

To start the development server and view the website locally, run the following command:
The monorepo is set up to allow you to work with either version independently.

### Running v1

To start the development server for v1:

```bash
npm run dev
#or
pnpm run dev
npm run dev:v1
# or
pnpm run dev:v1
# or
yarn dev
yarn dev:v1
```

This will start the Next.js development server, and you can access the website in your web browser at `http://localhost:3000`.
This will start the Next.js development server for v1, and you can access it at `http://localhost:4000`.

### Running v2

To start the development server for v2:

```bash
npm run dev:v2
# or
pnpm run dev:v2
# or
yarn dev:v2
```

This will start the Next.js development server for v2, and you can access it at `http://localhost:3000`.

## Customization

You can customize various aspects of the portfolio website to make it your own.
Both versions can be customized independently.

### Changing Content

1. Update the content in the `data` directory:
#### For v1:

1. Update the content in the `v1/src/data` directory:
- Edit the data files to modify project details, services, experiences, skills, and social links
- Replace or add images in the `v1/public/images` directory

- Edit the `projects.ts` file to add or modify project details.
- Edit the `services.ts` file to add or modify services you provide.
- Edit the `experiences.ts` file to add or modify experiences you have.
- Edit the `skills.ts` file to add or modify skills you know.
- Edit the `socialLinks.ts` file to add or modify social media links.
#### For v2:

2. Replace or add images in the `public/images` directory to match your projects and profile picture.
1. Update the content in the `v2/src/data` directory (if applicable)
- The v2 version uses a different structure, so refer to the specific files in the v2 directory
- Replace or add images in the `v2/public` directory

## Deployment

To deploy the portfolio website to a hosting service of your choice, follow the deployment instructions for Next.js applications. Some popular hosting options include Vercel, Netlify, and GitHub Pages.
Both versions can be deployed to separate domains on Vercel.

### Deploying v1

1. Create a new project on Vercel and connect it to your GitHub repository
2. Configure the following settings:
- Framework Preset: Next.js
- Root Directory: `v1`
- Build Command: `npm run build` or leave as default
- Output Directory: `.next`
3. Set any required environment variables
4. Deploy the project

### Deploying v2

1. Create another new project on Vercel and connect it to the same GitHub repository
2. Configure the following settings:
- Framework Preset: Next.js
- Root Directory: `v2`
- Build Command: `npm run build` or leave as default
- Output Directory: `.next`
3. Set any required environment variables
4. Deploy the project

Remember to configure environment variables for sensitive information like email credentials if needed.
With this setup, both versions will be deployed to different domains but maintained in the same repository.

## Contributing

Expand Down
Binary file removed bun.lockb
Binary file not shown.
Loading