Skip to content

AlexTLDR/mycv.quest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

79 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

mycv.quest

mycv.quest Logo

A modern CV generator that transforms your data into beautiful, professional CVs using Typst templates.

πŸš€ Overview

This is a CV generator application that allows users to create professional CVs using various Typst templates. The application is built with modern Go web technologies and provides a fast, responsive experience for CV creation and generation.

✨ Features

  • Multiple CV Templates: Choose from various professional Typst templates
  • Real-time Generation: CVs are generated instantly in memory
  • No Data Persistence: All data is processed in memory for privacy
  • Modern UI: Clean, responsive interface for easy CV creation
  • PDF Export: Generate high-quality PDF outputs

πŸ› οΈ Technology Stack

  • Backend: Go
  • Templating: templ - Type-safe HTML templates for Go
  • CSS Framework: DaisyUI - Semantic component classes for Tailwind CSS
  • CSS Build: Tailwind CSS - Utility-first CSS framework
  • CV Engine: Typst - Modern typesetting system
  • Frontend Build: Node.js and npm for CSS compilation
  • Build Tool: Task - Task runner and build tool
  • Containerization: Docker with multi-stage builds

πŸ“‹ Prerequisites

  • Go 1.21 or later
  • Task (recommended) or standard Go toolchain
  • Node.js 16+ and npm (for Tailwind CSS and DaisyUI compilation)
  • Docker and Docker Compose (for containerized deployment)
  • templ CLI for template generation
  • Typst for CV compilation

πŸš€ Quick Start

Local Development

  1. Clone the repository

    git clone https://github.com/AlexTLDR/mycv.quest.git
    cd mycv.quest
  2. Setup project and install dependencies

    # Using Task (recommended)
    task setup
    
    # Or manually
    go mod download
    npm install
  3. Install templ CLI (if not already installed)

    go install github.com/a-h/templ/cmd/templ@latest
  4. Build CSS and generate templates

    # Using Task (recommended)
    task css
    task templ
    
    # Or manually
    npm run build-css-prod
    templ generate
  5. Build and run

    # Using Task (recommended)
    task run
    
    # Or using Go directly
    go build -o bin/mycv-quest ./cmd/server
    ./bin/mycv-quest
  6. Visit the site Open your browser to http://localhost:8080

πŸ“ Project Structure

β”œβ”€β”€ bin/                    # Compiled binaries (gitignored)
β”œβ”€β”€ templates/             # templ template files
β”œβ”€β”€ static/               # Static assets (CSS, JS, images)
β”‚   └── css/              # Generated CSS files
β”œβ”€β”€ src/                  # Source CSS files
β”‚   └── input.css         # Tailwind CSS input file
β”œβ”€β”€ cv-templates/         # Typst CV templates
β”œβ”€β”€ handlers/             # HTTP handlers
β”œβ”€β”€ models/               # Data models
β”œβ”€β”€ services/             # Business logic
β”œβ”€β”€ cmd/                  # Application entry points
β”‚   └── server/           # Main server application
β”œβ”€β”€ internal/             # Private application code
β”œβ”€β”€ node_modules/         # Node.js dependencies (gitignored)
β”œβ”€β”€ package.json          # Node.js dependencies
β”œβ”€β”€ tailwind.config.js    # Tailwind CSS configuration
β”œβ”€β”€ docker-compose.yml    # Docker compose configuration
β”œβ”€β”€ Dockerfile           # Multi-stage Docker build
β”œβ”€β”€ Taskfile.yml         # Task automation
β”œβ”€β”€ go.mod               # Go module definition
└── README.md            # This file

🎨 Available CV Templates

Currently available Typst CV templates:

  • Basic Resume: Clean and simple design (Source)
  • Vantage: Modern professional template (Source)
  • Modern Resume: Contemporary design (Source)

πŸ†• Propose New Templates

Want to see more CV templates? Email me at alex@alextldr.com to propose new CV models from the Typst Universe. I'm always looking to expand our template collection!

πŸ”§ Available Tasks

This project uses Task for build automation:

# Setup project and install dependencies
task setup

# Install dependencies
task install

# Build CSS with Tailwind and DaisyUI
task css

# Build CSS in watch mode
task css-watch

# Generate templ templates
task templ

# Generate templ templates in watch mode
task templ-watch

# Build the application
task build

# Build and run the application
task run

# Run in development mode with hot reload
task dev

# Docker commands
task docker-build
task docker-run
task docker-compose-up
task docker-compose-dev
task docker-compose-down

# Build for production
task prod

# Clean build artifacts
task clean

# Run linters
task lint

# Run tests
task test

# Show all available tasks
task help

🌐 Deployment

Docker Deployment

The application is containerized using Docker with a multi-stage build:

# Build the Docker image
docker build -t mycv-quest .

# Run the container
docker run -p 8080:8080 mycv-quest

πŸ›£οΈ Roadmap

  • User Authentication System: Allow users to create accounts and save their CVs
  • Template Customization: Enable users to modify template colors, fonts, and layouts
  • Template Builder: Add new fields or modify existing templates (e.g., add a hobby field to any template)
  • Multiple Export Formats: Support for Word, LaTeX, and HTML exports

πŸ” Development Workflow

  1. Make changes to your Go code, templ templates, or CSS
  2. Rebuild CSS if you modified CSS or templates:
    task css
  3. Generate templates if you modified .templ files:
    task templ
  4. Build and run the application:
    task run
  5. Test your changes at http://localhost:8080

Hot Reload Development:

# Run with auto-rebuild (CSS + Templates + Go)
task dev

🀝 Contributing

We welcome contributions! Whether you're:

  • Adding new Typst CV templates
  • Improving the user interface
  • Fixing bugs or adding features
  • Improving documentation

Please feel free to:

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

For template contributions, please ensure they follow Typst best practices and include proper documentation.

πŸ“œ License

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

πŸ”— Links

πŸ“§ Contact

Alex - alex@alextldr.com - GitHub

For template suggestions, feature requests, or general inquiries, don't hesitate to reach out!


Note: All CVs are generated in memory with no persistent data storage, ensuring your privacy and security.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors