# Resume Maker

A modern, minimalistic resume builder web application built with PHP, HTML, CSS, and JavaScript. Create professional resumes with live preview and PDF download functionality.

## Features

- ✨ **Modern UI**: Clean, minimalistic design with Montserrat font
- 📝 **Live Preview**: Real-time preview while editing
- 📄 **PDF Download**: High-quality PDF generation using canvas
- 💾 **Save & Load**: Save multiple resumes locally
- 📱 **Responsive**: Works on desktop and mobile devices
- 🎨 **Professional Templates**: Based on modern resume designs

## Getting Started

### Prerequisites

- PHP 7.4 or higher
- Web server (Apache, Nginx, or built-in PHP server)
- Modern web browser

### Installation

1. Clone or download the project to your web server directory
2. Ensure the `data/resumes` directory is writable
3. Access the application in your browser

### Quick Start with PHP Built-in Server

```bash
cd resume
php -S localhost:8000
```

Then open `http://localhost:8000` in your browser.

## Project Structure

```
resume/
├── app.php              # Main application entry point
├── logo.svg              # Application logo
├── config/
│   └── config.php         # Configuration settings
├── includes/
│   └── functions.php      # Utility functions
├── components/
│   ├── header.php         # Header component
│   ├── dashboard.php      # Dashboard interface
│   ├── resume-editor.php  # Resume editing form
│   └── resume-preview.php # Resume preview modal
├── assets/
│   ├── css/
│   │   ├── style.css      # Main stylesheet
│   │   └── components.css # Component styles
│   └── js/
│       ├── app.js         # Main application logic
│       ├── resume-editor.js # Resume editing functionality
│       └── canvas-download.js # PDF download functionality
├── api/
│   └── resume.php         # REST API for resume operations
└── data/
    └── resumes/           # Saved resume data (JSON files)
```

## Usage

### Creating a Resume

1. Click "Create New Resume" on the dashboard
2. Fill in your personal information
3. Add your professional summary
4. Add work experience, education, and skills
5. Preview your resume in real-time
6. Save your resume
7. Download as PDF

### Managing Resumes

- **Save**: Automatically saves as you edit
- **Load**: Access saved resumes from the dashboard
- **Download**: Generate high-quality PDF files
- **Edit**: Modify existing resumes

## Customization

### Styling

The application uses CSS custom properties (variables) for easy customization:

```css
:root {
    --primary-color: #048f96;
    --font-family: 'Montserrat', sans-serif;
    /* ... more variables */
}
```

### Templates

Resume templates are generated dynamically. To customize:

1. Edit the `generateResumeHTML()` function in `resume-editor.js`
2. Modify styles in the template generation functions
3. Update PDF generation in `canvas-download.js`

## API Endpoints

### Resume Management

- `GET /api/resume.php` - Get all resumes
- `GET /api/resume.php?id={id}` - Get specific resume
- `POST /api/resume.php` - Create new resume
- `PUT /api/resume.php` - Update existing resume
- `DELETE /api/resume.php?id={id}` - Delete resume

## Browser Compatibility

- Chrome/Chromium 80+
- Firefox 75+
- Safari 13+
- Edge 80+

## Contributing

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Test thoroughly
5. Submit a pull request

## License

This project is open source and available under the [MIT License](LICENSE).

## Support

For issues and questions, please create an issue in the project repository.

---

Built with ❤️ using modern web technologies
