A modern, responsive portfolio website built with React, TypeScript, and Tailwind CSS. This application showcases professional experience, technical expertise, and provides a contact interface for potential clients.
- 🌓 Dark/Light mode support
- 📱 Fully responsive design
- 📧 Contact form with email integration
- ⚡ Built with performance in mind
- 🔒 Honeypot spam protection
- 📊 Vercel Analytics integration
- Frontend Framework: React 18 with TypeScript
- Routing: React Router DOM v7
- Styling: Tailwind CSS
- Icons: Lucide React
- Build Tool: Vite
- Deployment: Vercel
- Email Service: Resend
- Analytics: Vercel Analytics & Speed Insights
- Node.js (v18 or higher)
- npm or yarn
- A Resend API key for email functionality
- Clone the repository:
git clone https://github.com/yourusername/junction.git
cd junction- Install dependencies:
npm install
# or
yarn install- Create a
.envfile in the root directory:
RESEND_API_KEY=your_resend_api_key
RESEND_FROM_EMAIL=[email protected]
CONTACT_EMAIL=[email protected]- Start the development server:
npm run dev
# or
yarn dev- Visit
http://localhost:5173in your browser
npm run build
# or
yarn build├── api/ # Serverless API functions
├── src/
│ ├── api/ # API client functions
│ ├── assets/ # Static assets
│ ├── components/ # React components
│ │ ├── about/ # About page components
│ │ ├── contact/ # Contact form components
│ │ ├── home/ # Home page components
│ │ ├── layout/ # Layout components
│ │ └── ui/ # Reusable UI components
│ ├── config/ # Configuration files
│ ├── hooks/ # Custom React hooks
│ ├── styles/ # Global styles
│ └── types/ # TypeScript type definitions
GridBackground: Floating logo backgroundContactForm: Form component with validation and email integrationAboutSection: Professional experience and skills showcaseHeroSection: Landing page main sectionLayout: Main layout wrapper with header and footer
npm run typecheck
# or
yarn typechecknpm run lint
# or
yarn lintThis project is configured for deployment on Vercel. The vercel.json file includes the necessary rewrites for the API routes and SPA routing.
Required environment variables for deployment:
RESEND_API_KEYRESEND_FROM_EMAILCONTACT_EMAIL
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Design inspiration from modern portfolio websites
- Tailwind CSS for the utility-first CSS framework
- Vercel for hosting and serverless functions
- Resend for email functionality