Transform webapp into Resume Branches - Git for CVs

Features:
- Complete CV version control system with branching and submission tracking
- Interactive tree visualization showing master resume, branches, and submissions
- Diff viewer for tracking changes between CV versions
- Professional landing page with Git for CVs messaging
- Modern dashboard with three-panel layout (tree, details, preview)
- ATS-safe design philosophy throughout
- Tailwind 4 configuration with professional design system

Components:
- CVTree: Interactive expandable tree for CV versions
- DiffViewer: Visual diff display with add/remove/change highlighting
- Comprehensive data models for documents, versions, patches, submissions
- Upload modal and action buttons for CV management
- Status tracking and public sharing indicators

Architecture:
- TypeScript types for complete CV management workflow
- Responsive design with proper hover states and animations
- Mock data demonstrating realistic ML Engineer and Backend Engineer branches
- Ready for FastAPI backend integration and DOCX processing

This implements the complete 'Resume Branches' vision as a modern webapp
that treats CV management like version control for documents.
This commit is contained in:
2026-04-02 19:59:33 +02:00
parent 5719b173f6
commit b57db1fe7b
11 changed files with 1263 additions and 72 deletions

View File

@@ -1,35 +1,60 @@
import Link from "next/link";
import { getLocale } from "@/libs/locales";
export default function Footer() {
const { common } = getLocale('en');
return (
<footer>
{/* TODO: Style this footer when implementing in your project */}
<div>
<div>
<div>
<h3>{common.footer.brand}</h3>
<p>{common.footer.description}</p>
<footer className="bg-gray-900 text-gray-300">
<div className="max-w-7xl mx-auto px-6 py-12">
<div className="grid md:grid-cols-4 gap-8">
<div className="col-span-1">
<h3 className="text-xl font-bold text-white mb-4">Resume Branches</h3>
<p className="text-sm mb-4">
Git for CVs. Manage your resume like code with version control,
branching, and smart AI-assisted tailoring.
</p>
</div>
<div>
<h4>{common.footer.legal.title}</h4>
<ul>
<li><Link href="/privacy-policy">{common.footer.legal.privacyPolicy}</Link></li>
<li><Link href="/tos">{common.footer.legal.termsOfService}</Link></li>
<h4 className="font-semibold text-white mb-4">Product</h4>
<ul className="space-y-2 text-sm">
<li><a href="/dashboard" className="hover:text-white transition-colors">Dashboard</a></li>
<li><a href="/features" className="hover:text-white transition-colors">Features</a></li>
<li><a href="/pricing" className="hover:text-white transition-colors">Pricing</a></li>
</ul>
</div>
<div>
<h4>{common.footer.company.title}</h4>
<ul>
<li><Link href="/blog">{common.footer.company.blog}</Link></li>
<li><Link href="/dashboard">{common.footer.company.dashboard}</Link></li>
<h4 className="font-semibold text-white mb-4">Resources</h4>
<ul className="space-y-2 text-sm">
<li><a href="/docs" className="hover:text-white transition-colors">Documentation</a></li>
<li><a href="/blog" className="hover:text-white transition-colors">Blog</a></li>
<li><a href="/support" className="hover:text-white transition-colors">Support</a></li>
</ul>
</div>
<div>
<h4 className="font-semibold text-white mb-4">Company</h4>
<ul className="space-y-2 text-sm">
<li><a href="/about" className="hover:text-white transition-colors">About</a></li>
<li><a href="/privacy" className="hover:text-white transition-colors">Privacy</a></li>
<li><a href="/terms" className="hover:text-white transition-colors">Terms</a></li>
</ul>
</div>
</div>
<div>
<p>{common.footer.copyright}</p>
<div className="border-t border-gray-800 mt-8 pt-8 flex flex-col md:flex-row items-center justify-between">
<p className="text-sm">© 2024 Resume Branches. All rights reserved.</p>
<div className="flex items-center space-x-6 mt-4 md:mt-0">
<a href="#" className="text-gray-400 hover:text-white transition-colors">
<span className="sr-only">Twitter</span>
<svg className="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
<path d="M6.29 18.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0020 3.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.073 4.073 0 01.8 7.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 010 16.407a11.616 11.616 0 006.29 1.84" />
</svg>
</a>
<a href="#" className="text-gray-400 hover:text-white transition-colors">
<span className="sr-only">GitHub</span>
<svg className="w-5 h-5" fill="currentColor" viewBox="0 0 20 20">
<path fillRule="evenodd" d="M10 0C4.477 0 0 4.484 0 10.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0110 4.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.203 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.942.359.31.678.921.678 1.856 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0020 10.017C20 4.484 15.522 0 10 0z" clipRule="evenodd" />
</svg>
</a>
</div>
</div>
</div>
</footer>