Skip to content

Ishanpathak1/portfoliome

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

101 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎨 Portfolio Generator

Transform your resume into a beautiful, personalized portfolio website in minutes! This web application uses smart parsing to extract information from your resume and creates a stunning portfolio with customizable themes and layouts.

πŸš€ Features

πŸ“„ Smart Resume Processing

  • File Support: Upload PDF or DOCX resume files
  • Intelligent Parsing: Automatically extracts contact info, experience, education, skills, and projects
  • Section Detection: Recognizes different resume sections using AI-powered parsing

🎨 Personalization & Themes

  • Multiple Themes: Choose from Modern, Classic, Creative, and Minimal designs
  • Color Schemes: 5 beautiful color options (Ocean Blue, Forest Green, Royal Purple, Sunset Orange, Crimson Red)
  • Layout Options: Single-column, two-column, or timeline layouts
  • Additional Sections: Add certifications, awards, volunteer work, languages, and more

πŸ”— Sharing & Export

  • Unique Portfolio URLs: Get a shareable link for your portfolio
  • Copy & Share: Easy URL copying and social sharing
  • Download Options: Export your portfolio as PDF
  • Responsive Design: Looks great on desktop, tablet, and mobile

πŸ› οΈ Tech Stack

  • Frontend: Next.js 14, React 18, TypeScript
  • Styling: Tailwind CSS
  • UI Components: Lucide React icons, Custom components
  • File Processing: pdf-parse (PDF), mammoth (DOCX)
  • File Upload: react-dropzone
  • Animations: Framer Motion

πŸƒβ€β™‚οΈ Quick Start

Prerequisites

  • Node.js 18+
  • npm or yarn

Installation

  1. Clone the repository

    git clone <repository-url>
    cd portfolio-generator
  2. Install dependencies

    npm install
  3. Start the development server

    npm run dev
  4. Open your browser Navigate to http://localhost:3000

Usage

  1. Upload Your Resume

    • Drag and drop your PDF or DOCX resume file
    • Or click to browse and select your file
    • Maximum file size: 10MB
  2. Personalize Your Portfolio

    • Choose your preferred theme (Modern, Classic, Creative, Minimal)
    • Select a color scheme that matches your brand
    • Pick a layout style (Single-column, Two-column, Timeline)
    • Add optional sections like certifications or awards
  3. Preview & Share

    • Review your generated portfolio
    • Copy the shareable URL
    • Download as PDF or share directly

πŸ“ Project Structure

portfolio-generator/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/                  # Next.js 13+ app directory
β”‚   β”‚   β”œβ”€β”€ api/             # API routes
β”‚   β”‚   β”‚   └── parse-resume/ # Resume parsing endpoint
β”‚   β”‚   β”œβ”€β”€ globals.css      # Global styles
β”‚   β”‚   β”œβ”€β”€ layout.tsx       # Root layout
β”‚   β”‚   └── page.tsx         # Home page
β”‚   β”œβ”€β”€ components/          # React components
β”‚   β”‚   β”œβ”€β”€ FileUploadSection.tsx
β”‚   β”‚   β”œβ”€β”€ PersonalizationForm.tsx
β”‚   β”‚   └── PortfolioPreview.tsx
β”‚   β”œβ”€β”€ lib/                 # Utility functions
β”‚   β”‚   β”œβ”€β”€ resume-parser.ts # Resume parsing logic
β”‚   β”‚   └── utils.ts         # Helper functions
β”‚   └── types/               # TypeScript definitions
β”‚       └── resume.ts        # Data structure types
β”œβ”€β”€ public/                  # Static assets
β”œβ”€β”€ package.json
β”œβ”€β”€ tailwind.config.js
β”œβ”€β”€ tsconfig.json
└── README.md

πŸ”§ Configuration

Environment Variables

Create a .env.local file in the root directory:

# Add any environment variables here
NEXT_PUBLIC_APP_URL=http://localhost:3000

Customization

Adding New Themes

  1. Update the theme options in PersonalizationForm.tsx
  2. Add rendering logic in PortfolioPreview.tsx
  3. Create corresponding CSS classes in globals.css

Adding New Color Schemes

  1. Update the colorSchemes array in PersonalizationForm.tsx
  2. Add corresponding Tailwind classes
  3. Update the getColorClasses function in PortfolioPreview.tsx

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

πŸš€ Deployment

Vercel (Recommended)

  1. Push your code to GitHub
  2. Connect your repository to Vercel
  3. Deploy with one click

Manual Deployment

  1. Build the application:

    npm run build
  2. Start the production server:

    npm start

πŸ› Troubleshooting

Common Issues

File upload not working

  • Check file size (must be < 10MB)
  • Ensure file format is PDF or DOCX
  • Check browser console for errors

Resume parsing incomplete

  • Ensure your resume has clear section headers
  • Check that contact information is prominently displayed
  • Try with a different file format

Styling issues

  • Clear browser cache
  • Check if Tailwind CSS is properly compiled
  • Verify custom CSS classes are defined

πŸ“ž Support

If you encounter any issues or have questions:

  1. Check the Issues page
  2. Create a new issue with detailed information
  3. Include your browser version and error messages

Made with ❀️ for job seekers and professionals worldwide!

About

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors