This is my portfolio website.
- Node.js (v18.0.0 or higher)
- npm or yarn or pnpm
- Git
- Clone the repository
git clone https://github.com/jhenbertgit/next-portfolio.git
cd next-portfolio
- Install dependencies
npm install
# or
yarn install
# or
pnpm install
- Set up environment variables
cp .env.example .env.local
Edit .env.local
with your configuration values.
- Start development server
npm run dev
# or
yarn dev
# or
pnpm dev
The application will be available at http://localhost:3000
├── public/ # Static files
├── src/
│ ├── app/ # Next.js 13+ App Router
│ │ ├── api/ # API routes
│ │ ├── globals.css # Global styles
│ │ ├── layout.tsx # Layout component
│ │ ├── page.tsx # Page component
│ ├── components/ # Shared components
│ ├── lib/ # Utility functions
- Next.js 13+
- TypeScript
- Tailwind CSS
- Use TypeScript for type safety
- Follow ESLint configuration
- Use Prettier for code formatting
- Follow component naming convention:
PascalCase.tsx
# Development
npm run dev # Start development server
# Testing
npm run test # Run tests
npm run test:watch # Run tests in watch mode
# Linting
npm run lint # Run ESLint
npm run format # Run Prettier
# Building
npm run build # Create production build
npm start # Start production server
- Create feature branch from
main
git checkout -b feature/your-feature-name
- Make your changes and commit using conventional commits
git commit -m "feat: add new feature"
git commit -m "fix: resolve bug issue"
- Push changes and create Pull Request
git push origin feature/your-feature-name
Required environment variables:
RESEND_API_KEY=
NEXT_PUBLIC_FROM_EMAIL=
NEXT_PUBLIC_TO_EMAIL=
- API documentation available at resend
Common issues and solutions:
- Port 3000 already in use
kill -9 $(lsof -t -i:3000)
# or
npm run dev -- -p 3001
- Node modules issues
rm -rf node_modules
rm package-lock.json
npm install
This project is licensed under the MIT License - see the LICENSE.md file for details.