Skip to content

darshan-mishra17/FolioFuse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

189 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Logo

🧠 Resume‑to‑Portfolio Generator (SaaS)

Turn your resume into a fully functional, customizable portfolio website with a single upload β€” then push it directly to your GitHub. Powered by AI (Ollama), built with React, Express, and MongoDB.

Product Screenshot


✨ Tech Stack


πŸš€ Features

  • 🧾 Resume upload: PDF/DOCX parsing (skills, experience, projects, education).
  • πŸ”’ GitHub OAuth login + JWT session.
  • πŸ€– AI portfolio generation using Ollama (local LLM) with customizable sections.
  • ⬆️ One‑click GitHub repo deployment (create repo, commit generated site, push).
  • 🌐 Live preview with theme switch, sections on/off, and instant edits.
  • πŸ—‚οΈ Templates: multiple portfolio presets (cards, timeline, minimal).

🧩 Architecture


/ (monorepo or separate)
/client    β†’ React + Vite + Tailwind (SPA)
/server    β†’ Express API, MongoDB, GitHub OAuth, AI orchestration (Ollama)
/templates β†’ Portfolio themes (e.g., nextjs-static, vanilla-tailwind)

Key flows:

  1. Upload resume β†’ parse β†’ normalized JSON β†’ store in MongoDB.
  2. Call Ollama locally β†’ generate site sections/content.
  3. Build static site from chosen template β†’ preview β†’ push to GitHub.

πŸ§ͺ Quick Start

Prerequisites

  • Node.js β‰₯ 18
  • MongoDB (local or Atlas)
  • Ollama installed and at least one model pulled (e.g. llama3)
  • GitHub OAuth App (Client ID/Secret)

1) Clone & Install

# clone
git clone https://github.com/your-org/your-repo.git
cd your-repo

# install deps
cd server && npm i && cd ..
cd client && npm i && cd ..

2) Environment Variables

Create server/.env:

PORT=8080
MONGODB_URI=mongodb://localhost:27017/resume2portfolio
JWT_SECRET=supersecret
GITHUB_CLIENT_ID=xxx
GITHUB_CLIENT_SECRET=yyy
GITHUB_CALLBACK_URL=http://localhost:8080/auth/github/callback
ALLOWED_ORIGIN=http://localhost:5173
OLLAMA_HOST=http://localhost:11434
OLLAMA_MODEL=llama3
> **Note:** Datas provided are dummy for help.

Create client/.env:

VITE_API_BASE=http://localhost:8080
VITE_GITHUB_CLIENT_ID=xxx

3) Run Services

# Terminal A β†’ Ollama (ensure a model is pulled)
ollama pull llama3
ollama serve

# Terminal B β†’ server
cd server
npm run dev

# Terminal C β†’ client
cd client
npm run dev

Opens: http://localhost:5173


πŸ” GitHub OAuth Setup (Quick)

  1. Go to GitHub β†’ Settings β†’ Developer settings β†’ OAuth Apps.

  2. Create new app with:

    • Homepage: http://localhost:5173
    • Authorization callback URL: http://localhost:8080/auth/github/callback
  3. Copy Client ID and Client Secret into server/client .env as above.


🧰 Scripts

Server

{
  "scripts": {
    "dev": "nodemon src/index.ts",
    "build": "tsc -p .",
    "start": "node dist/index.js"
  }
}

Client

{
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview"
  }
}

πŸ–ΌοΈ Templates

  • Minimal (single page, clean typography)
  • Cards (project cards + skills cloud)
  • Timeline (experience/education timeline)

Switch via templates/<name> or config in UI.


πŸš€ Deployment

  • Frontend: Vercel(static export from client)
  • Backend: Render
  • Environment: Set the same .env keys in your hosting provider

Tip: For Vercel, expose VITE_API_BASE pointing to your hosted backend.


🀝 Contributing

PRs welcome! Please open an issue to discuss larger changes first.


πŸ“œ License

MIT β€” see LICENSE for details.


Note: Some important files are not public for security and privacy reasons.

About

Resume to Portfolio builder

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors