swciitg / resume-builder

0 stars 4 forks source link

Add a component displaying the code for the inputs provided by the user #5

Closed Ashmit-Verma closed 5 days ago

Ashmit-Verma commented 1 week ago

Screenshot 2024-10-14 022717

We are building a custom resume builder using React.js and Tailwind CSS, where users can input their details and automatically generate a LaTeX-formatted resume. The user inputs will include basic information, experience, education, and other resume sections, which will be dynamically converted into LaTeX code for easy resume creation.

Expected Features:

Dynamic LaTeX Code Generation:

The form data should be dynamically converted into LaTeX code using a predefined template. Users should be able to view the generated LaTeX code in real-time as they input their data.

Predefined Template:

%------------------------- % Resume in Latex % Author : Arkadeep Das, Manas Daruka, Ayush Sharma, Abhinav Gupta % License : MIT %------------------------

%---- Required Packages and Functions ----

\documentclass[a4paper,11pt]{article} \usepackage{latexsym} \usepackage{xcolor} \usepackage{float} \usepackage{ragged2e} \usepackage[empty]{fullpage} \usepackage{wrapfig} \usepackage{lipsum} \usepackage{tabularx} \usepackage{titlesec} \usepackage{geometry} \usepackage{marvosym} \usepackage{verbatim} \usepackage{enumitem} \usepackage[hidelinks]{hyperref} \usepackage{fancyhdr} \usepackage{multicol} \usepackage{graphicx} \usepackage{cfr-lm} \usepackage[T1]{fontenc} \setlength{\multicolsep}{0pt} \pagestyle{fancy} \fancyhf{} % clear all header and footer fields \fancyfoot{} \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{0pt} \geometry{left=1.4cm, top=0.8cm, right=1.2cm, bottom=1cm} % Adjust margins %\addtolength{\oddsidemargin}{-0.5in} %\addtolength{\evensidemargin}{-0.5in} %\addtolength{\textwidth}{1in} \usepackage[most]{tcolorbox} \tcbset{ frame code={} center title, left=0pt, right=0pt, top=0pt, bottom=0pt, colback=gray!20, colframe=white, width=\dimexpr\textwidth\relax, enlarge left by=-2mm, boxsep=4pt, arc=0pt,outer arc=0pt, }

\urlstyle{same}

\raggedright \setlength{\tabcolsep}{0in}

% Sections formatting \titleformat{\section}{ \vspace{-4pt}\scshape\raggedright\large }{}{0em}{}[\color{black}\titlerule \vspace{-7pt}]

%------------------------- % Custom commands \newcommand{\resumeItem}[2]{ \item{ \textbf{#1}{:\hspace{0.5mm}#2 \vspace{-0.5mm}} } }

\newcommand{\resumePOR}[3]{ \vspace{0.5mm}\item \begin{tabular}{0.97\textwidth}[t]{l@{\extracolsep{\fill}}r} \textbf{#1},\hspace{0.3mm}#2 & \textit{\small{#3}} \end{tabular} \vspace{-2mm} }

\newcommand{\resumeSubheading}[4]{ \vspace{0.5mm}\item \begin{tabular}{0.98\textwidth}[t]{l@{\extracolsep{\fill}}r} \textbf{#1} & \textit{\footnotesize{#4}} \ \textit{\footnotesize{#3}} & \footnotesize{#2}\ \end{tabular} \vspace{-2.4mm} }

\newcommand{\resumeProject}[4]{ \vspace{0.5mm}\item \begin{tabular}{0.98\textwidth}[t]{l@{\extracolsep{\fill}}r} \textbf{#1} & \textit{\footnotesize{#3}} \ \footnotesize{\textit{#2}} & \footnotesize{#4} \end{tabular} \vspace{-2.4mm} }

\newcommand{\resumeSubItem}[2]{\resumeItem{#1}{#2}\vspace{-4pt}}

% \renewcommand{\labelitemii}{$\circ$} \renewcommand{\labelitemi}{$\vcenter{\hbox{\tiny$\bullet$}}$}

\newcommand{\resumeSubHeadingListStart}{\begin{itemize}[leftmargin=,labelsep=0mm]} \newcommand{\resumeHeadingSkillStart}{\begin{itemize}[leftmargin=,itemsep=1.7mm, rightmargin=2ex]} \newcommand{\resumeItemListStart}{\begin{justify}\begin{itemize}[leftmargin=3ex, rightmargin=2ex, noitemsep,labelsep=1.2mm,itemsep=0mm]\small}

\newcommand{\resumeSubHeadingListEnd}{\end{itemize}\vspace{2mm}} \newcommand{\resumeHeadingSkillEnd}{\end{itemize}\vspace{-2mm}} \newcommand{\resumeItemListEnd}{\end{itemize}\end{justify}\vspace{-2mm}} \newcommand{\cvsection}[1]{% \vspace{2mm} \begin{tcolorbox} \textbf{\large #1} \end{tcolorbox} \vspace{-4mm} }

\newcolumntype{L}{>{\raggedright\arraybackslash}X}% \newcolumntype{R}{>{\raggedleft\arraybackslash}X}% \newcolumntype{C}{>{\centering\arraybackslash}X}% %---- End of Packages and Functions ------

%------------------------------------------- %%%%%% CV STARTS HERE %%%%%%%%%%% %%%%%% DEFINE ELEMENTS HERE %%%%%%% \newcommand{\name}{NAME} % Your Name \newcommand{\course}{COURSE - BRANCH} % Your Course \newcommand{\roll}{ROLL NO.} % Your Roll No. \newcommand{\phone}{PHONE NUMBER} % Your Phone Number \newcommand{\emaila}{EMAIL PERSONAL} %Email 1 \newcommand{\emailb}{IITG }

\begin{document} \fontfamily{cmr}\selectfont %----------HEADING----------------- \parbox{2.35cm}{%

\includegraphics[width=2cm,clip]{iitg_logo.jpg}

}\parbox{\dimexpr\linewidth-2.6cm\relax}{ \begin{tabularx}{\linewidth}{L r} \textbf{\LARGE \name} & +91-\phone\ {Roll No.:\roll} & \href{mailto:\emaila}{\emaila} \ \course & \href{mailto:\emailb}{\emailb}\ {Indian Institute Of Technology, Guwahati} & \href{}{GitHub}{ |} \href{}{LinkedIn} \end{tabularx} }

%-----------EDUCATION----------------- % \section{Education} % \resumeSubHeadingListStart % \resumeSubheading % {Indian Institute of Technology Guwahati}{Guwahati, India} % {Bachelor of Technology in Mathematics and Computing ; GPA: 8.10}{July. 2015 -- July. 2019 (Expected)} % \resumeSubheading % {Burdwan Model School}{Burdwan, W.B} % {Central Board of Secondary Education (Class XII); Percentage: 96.60}{March. 2015} % \resumeSubHeadingListEnd\vspace{-3mm} \section{Education} \setlength{\tabcolsep}{5pt} % Default value: 6pt % \renewcommand{\arraystretch}{1.1} % Default value: 1 \small{\begin{tabularx} {\dimexpr\textwidth-3mm\relax}{|c|C|c|c|} \hline \textbf{Degree/Certificate } & \textbf{Institute/Board} & \textbf{CGPA/Percentage} & \textbf{Year}\ \hline B.Tech. & Indian Institute of Technology, Guwahati & CPI & Year\ \hline Senior Secondary & SCHOOL BOARD & PERCENTAGE & YEAR \ \hline Secondary & SCHOOL BOARD & PERCENTAGE & YEAR \ \hline \end{tabularx}} \vspace{-2mm} \section{Experience} \resumeSubHeadingListStart

\resumeProject {Experience} % Project Name {Designation} % Project Name, Location Name {Timeline} % Event Dates {\href{}{} }%Github \resumeItemListStart \item Description \item Description \item Description \resumeItemListEnd \resumeSubHeadingListEnd \vspace{-7.5mm} \section{Projects} \resumeSubHeadingListStart

  \resumeProject

{Project Name} % Project Name {Project Type} % Project Name, Location Name {Timeline} % Event Dates {\href{}{GitHub Link}} % Website \resumeItemListStart \item Description \item Description \item Description \item Description \resumeItemListEnd

% \resumeProject
%   {Project Name 2}
%   {6th Inter IIT TechMeet, IIT Madras}{Dec. 2017 - Jan. 2018}{\href{Links to Reports}{Reports}}
%   \resumeItemListStart
% \item {Work DOne 1}
%     \item {Work Done 2}
% \resumeItemListEnd

\resumeSubHeadingListEnd \vspace{-7.5mm}

\section{Technical Skills} \resumeHeadingSkillStart \resumeSubItem{Category1} % Category {Type1,Type2,...} \resumeSubItem{Category2} % Category {Type1,Type2,.... }

% \resumeSubItem{Tools/Frameworks} % Category % {Keras, Tensorflow, Pytorch, ROS, OpenCV} % \resumeSubItem{Operating Systems} % {Windows, Linux} \hfill \textit{\footnotesize{* Elementary proficiency}} \hspace{3mm} \resumeHeadingSkillEnd \vspace{-7.5mm}

\section{Key courses taken} \resumeHeadingSkillStart \resumeSubItem{Category} {Name} % \resumeSubItem{Electrical and Electronics} % Category % {Advanced Control Systems, Digital Systems, Microprocessors} % Skills \resumeHeadingSkillEnd

\section{Positions of Responsibility} \vspace{-0.4mm} \resumeSubHeadingListStart

\resumePOR{Title} % Position {Club/Fest/Board} %Club,Event {Timeline} %Tenure Period { Description}} \resumeSubHeadingListEnd \vspace{-6mm}

\section{Achievements} \vspace{-0.2mm} \resumeSubHeadingListStart \resumePOR{Title} % Award {Description} % Event {Year} %Event Year

\resumeSubHeadingListEnd % \vspace{-2mm} \hspace*{-2mm}\rule{1.035\textwidth}{0.1mm}

%------------------------------------------- \end{document}