├── src ├── App.css ├── Assets │ ├── ICON.png │ ├── logo.png │ ├── home-logo.png │ ├── Resume Theme - 1.png │ ├── PoweredByDevDisplay.png │ └── Resume PDF │ │ └── Theme-1.pdf ├── Context │ ├── ResumeContext.js │ └── ResumeState.js ├── Pages │ ├── BuilderArea.css │ ├── Error │ │ └── ErrorPage.jsx │ ├── BuilderArea.jsx │ ├── Home │ │ └── Home.jsx │ └── About │ │ └── About.jsx ├── index.js ├── Theme │ ├── Theme3 │ │ ├── theme3.css │ │ └── Theme3.jsx │ ├── Theme1 │ │ ├── theme1.css │ │ └── Theme1.jsx │ ├── Theme2 │ │ ├── theme2.css │ │ └── Theme2.jsx │ └── Theme4 │ │ └── theme4.jsx ├── index.css ├── Components │ ├── Intro │ │ ├── introduction.css │ │ └── Introduction.jsx │ ├── UserDataCollect │ │ ├── userCollectData.css │ │ └── UserDataCollect.jsx │ ├── Footer │ │ └── Footer.jsx │ └── Navbar │ │ └── Navbar.jsx ├── db │ └── ThemeTemplateData.js └── App.js ├── public ├── _redirects ├── logo.png ├── favicon.ico ├── logo192.png ├── logo512.png ├── robots.txt ├── PoweredByDevDisplay.png ├── manifest.json └── index.html ├── Branding ├── Mockup.png ├── logo.png ├── About Us.png ├── Home Page Dark.png ├── Home Page Light.png ├── Resume Crafting.png └── Resume Template.png ├── .vscode └── settings.json ├── .gitignore ├── LICENSE ├── package.json ├── CONTRIBUTING.md ├── README.md └── CODE_OF_CONDUCT.md /src/App.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/_redirects: -------------------------------------------------------------------------------- 1 | /* /index.html 200 -------------------------------------------------------------------------------- /public/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeaashu/Resume-Builder/HEAD/public/logo.png -------------------------------------------------------------------------------- /Branding/Mockup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeaashu/Resume-Builder/HEAD/Branding/Mockup.png -------------------------------------------------------------------------------- /Branding/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeaashu/Resume-Builder/HEAD/Branding/logo.png -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeaashu/Resume-Builder/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeaashu/Resume-Builder/HEAD/public/logo192.png -------------------------------------------------------------------------------- /public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeaashu/Resume-Builder/HEAD/public/logo512.png -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /src/Assets/ICON.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeaashu/Resume-Builder/HEAD/src/Assets/ICON.png -------------------------------------------------------------------------------- /src/Assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeaashu/Resume-Builder/HEAD/src/Assets/logo.png -------------------------------------------------------------------------------- /Branding/About Us.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeaashu/Resume-Builder/HEAD/Branding/About Us.png -------------------------------------------------------------------------------- /src/Assets/home-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeaashu/Resume-Builder/HEAD/src/Assets/home-logo.png -------------------------------------------------------------------------------- /Branding/Home Page Dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeaashu/Resume-Builder/HEAD/Branding/Home Page Dark.png -------------------------------------------------------------------------------- /Branding/Home Page Light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeaashu/Resume-Builder/HEAD/Branding/Home Page Light.png -------------------------------------------------------------------------------- /Branding/Resume Crafting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeaashu/Resume-Builder/HEAD/Branding/Resume Crafting.png -------------------------------------------------------------------------------- /Branding/Resume Template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeaashu/Resume-Builder/HEAD/Branding/Resume Template.png -------------------------------------------------------------------------------- /public/PoweredByDevDisplay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeaashu/Resume-Builder/HEAD/public/PoweredByDevDisplay.png -------------------------------------------------------------------------------- /src/Assets/Resume Theme - 1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeaashu/Resume-Builder/HEAD/src/Assets/Resume Theme - 1.png -------------------------------------------------------------------------------- /src/Assets/PoweredByDevDisplay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeaashu/Resume-Builder/HEAD/src/Assets/PoweredByDevDisplay.png -------------------------------------------------------------------------------- /src/Assets/Resume PDF/Theme-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codeaashu/Resume-Builder/HEAD/src/Assets/Resume PDF/Theme-1.pdf -------------------------------------------------------------------------------- /src/Context/ResumeContext.js: -------------------------------------------------------------------------------- 1 | import { createContext } from "react"; 2 | 3 | const ResumeContext = createContext(); 4 | 5 | export default ResumeContext -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.autobuild.enabled": false, 3 | "markdown.editor.drop.enabled": false, 4 | "markdown.experimental.editor.pasteLinks.enabled": false 5 | } -------------------------------------------------------------------------------- /src/Pages/BuilderArea.css: -------------------------------------------------------------------------------- 1 | /* media quires */ 2 | @media only screen and (max-width: 1108px) { 3 | #main-box { 4 | flex-direction: column !important; 5 | } 6 | } 7 | 8 | #theme-box-border { 9 | height: fit-content; 10 | min-width: 50%; 11 | } 12 | 13 | #spinner { 14 | position: absolute !important; 15 | top: 50vh; 16 | left: 50vw; 17 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom/client'; 3 | import './index.css'; 4 | import App from './App'; 5 | import { ChakraProvider } from '@chakra-ui/react' 6 | import { BrowserRouter as Router } from 'react-router-dom' 7 | 8 | 9 | const root = ReactDOM.createRoot(document.getElementById('root')); 10 | root.render( 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | ); -------------------------------------------------------------------------------- /src/Theme/Theme3/theme3.css: -------------------------------------------------------------------------------- 1 | .info-text { 2 | /* margin: 43px 70px 36px 70px; */ 3 | margin-bottom: 30px; 4 | } 5 | 6 | #theme3 { 7 | /* margin: 50px 70px; */ 8 | padding: 47px 60px; 9 | } 10 | 11 | 12 | /* media quires */ 13 | @media only screen and (max-width: 715px) { 14 | #theme3 { 15 | padding: 47px 19px; 16 | } 17 | 18 | .info-text { 19 | width: 290px; 20 | } 21 | 22 | .summary-text { 23 | width: 100% !important; 24 | } 25 | } 26 | 27 | @media only screen and (max-width: 430px) { 28 | #theme3 { 29 | padding: 14px 10px; 30 | } 31 | 32 | } -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', 5 | sans-serif; 6 | -webkit-font-smoothing: antialiased; 7 | -moz-osx-font-smoothing: grayscale; 8 | } 9 | 10 | code { 11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', 12 | monospace; 13 | } 14 | 15 | /* Code for Print Specific Div */ 16 | 17 | @media print { 18 | body * { 19 | visibility: hidden; 20 | } 21 | 22 | #form-collect { 23 | display: none; 24 | } 25 | 26 | #navbar { 27 | display: none; 28 | } 29 | 30 | #section-to-print, 31 | #section-to-print * { 32 | visibility: visible; 33 | } 34 | } 35 | 36 | @page { 37 | size: auto; 38 | margin: 0; 39 | } -------------------------------------------------------------------------------- /src/Theme/Theme1/theme1.css: -------------------------------------------------------------------------------- 1 | /* #theme1 { 2 | width: 90%; 3 | margin: auto; 4 | } */ 5 | 6 | 7 | /* Skills Set */ 8 | .skill-badge { 9 | background-color: #D2E4E1 !important; 10 | color: black !important; 11 | margin: 5px; 12 | } 13 | 14 | .skillBox { 15 | display: flex; 16 | justify-content: center; 17 | align-items: center; 18 | flex-wrap: wrap; 19 | } 20 | 21 | .basic-set { 22 | /* width: 61%; */ 23 | margin: 0rem 5rem; 24 | padding-top: 10px; 25 | } 26 | 27 | 28 | /* Utility */ 29 | .subBox { 30 | margin-bottom: 15px; 31 | } 32 | 33 | .sub-details { 34 | padding: 0px 10px; 35 | } 36 | 37 | .sub-title { 38 | font-size: 1.1rem; 39 | font-weight: 600; 40 | } 41 | 42 | /* media quires */ 43 | @media only screen and (max-width: 450px) { 44 | .basic-set { 45 | margin: 0rem 1rem; 46 | } 47 | } -------------------------------------------------------------------------------- /src/Components/Intro/introduction.css: -------------------------------------------------------------------------------- 1 | .Bullet_Points { 2 | display: flex; 3 | margin: 5px 0px; 4 | align-items: center; 5 | } 6 | 7 | .Bullet_Points p { 8 | margin: 0px 5px; 9 | } 10 | 11 | 12 | .templatesList { 13 | font-family: "Poppins"; 14 | color: #fff; 15 | text-align: center; 16 | height: 80%; 17 | display: flex; 18 | justify-content: center; 19 | align-items: center; 20 | flex-wrap: wrap; 21 | } 22 | 23 | .template { 24 | font-family: "Poppins"; 25 | color: #fff; 26 | text-align: center; 27 | height: 300px; 28 | width: 200px; 29 | overflow: hidden; 30 | border-radius: 13px; 31 | margin: auto; 32 | border: 1px solid black; 33 | margin: 10px; 34 | } 35 | 36 | .template img { 37 | max-width: 100%; 38 | min-height: 100%; 39 | max-height: 100%; 40 | } -------------------------------------------------------------------------------- /src/Theme/Theme2/theme2.css: -------------------------------------------------------------------------------- 1 | .info-text { 2 | /* margin: 43px 70px 36px 70px; */ 3 | margin-bottom: 30px; 4 | } 5 | 6 | #theme2 { 7 | /* margin: 50px 70px; */ 8 | padding: 47px 60px; 9 | } 10 | 11 | #resume-avatar { 12 | width: 150px; 13 | height: 150px; 14 | object-fit: cover; 15 | object-position: 50% 25%; 16 | } 17 | 18 | /* media quires */ 19 | @media only screen and (max-width: 715px) { 20 | #theme2 { 21 | padding: 47px 19px; 22 | } 23 | 24 | #resume-avatar { 25 | width: auto; 26 | height: 105px; 27 | } 28 | 29 | .info-text { 30 | width: 290px; 31 | } 32 | 33 | .summary-text { 34 | width: 100% !important; 35 | } 36 | } 37 | 38 | @media only screen and (max-width: 430px) { 39 | #theme2 { 40 | padding: 14px 10px; 41 | } 42 | 43 | } -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "Resume Builder", 3 | "name": "Create your Resume in minutes", 4 | "icons": [ 5 | { 6 | "src": "logo.png", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | }, 10 | { 11 | "src": "logo192.png", 12 | "type": "image/png", 13 | "sizes": "192x192" 14 | }, 15 | { 16 | "src": "logo512.png", 17 | "type": "image/png", 18 | "sizes": "512x512" 19 | } 20 | ], 21 | "start_url": ".", 22 | "display": "standalone", 23 | "theme_color": "#000000", 24 | "background_color": "#ffffff", 25 | "description": "Build and customize professional resumes online with Resume Builder. Choose from a variety of templates and create your perfect resume easily.", 26 | "keywords": "resume builder, professional resumes, online resumes, resume templates", 27 | "author": "Ashutosh Singh" 28 | } 29 | -------------------------------------------------------------------------------- /src/db/ThemeTemplateData.js: -------------------------------------------------------------------------------- 1 | const ThemeTemplateData = [ 2 | { 3 | id: "Theme1", 4 | imageSrc: 5 | "https://user-images.githubusercontent.com/87645745/210406666-ef3e2d63-28ab-4f8c-95d2-af3e6ea60bcf.png", 6 | imageAlt: "Theme1", 7 | }, 8 | { 9 | id: "Theme2", 10 | imageSrc: 11 | "https://user-images.githubusercontent.com/87645745/213859618-dedb91b2-79ae-4165-8dd9-07fc3e68e726.jpg", 12 | imageAlt: "Theme2", 13 | }, 14 | { 15 | id: "Theme3", 16 | imageSrc: "https://testanalytics-5e6e3.web.app/static/media/3.776a5714.JPG", 17 | imageAlt: "Theme3", 18 | }, 19 | { 20 | id: "Theme4", 21 | imageSrc: 22 | "https://www.myperfectresume.com/wp-content/uploads/2023/10/Student-Resume-Example.svg", 23 | imageAlt: "Theme4", 24 | }, 25 | { 26 | id: "Theme5", 27 | imageSrc: "https://testanalytics-5e6e3.web.app/static/media/4.af60bc02.jpg", 28 | imageAlt: "Theme5", 29 | }, 30 | ]; 31 | 32 | export default ThemeTemplateData; 33 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Ashutosh Singh 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/Pages/Error/ErrorPage.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Box, Heading, Text, Button } from '@chakra-ui/react'; 3 | 4 | 5 | const ErrorPage = () => { 6 | return ( 7 | <> 8 | 9 | 15 | 404 16 | 17 | 18 | Template Not Found 19 | 20 | 21 | This Page Resume Template is under build, coming soon.... 22 | 23 | 24 | 32 | 33 | 34 | ) 35 | } 36 | 37 | export default ErrorPage 38 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "resume-builder", 3 | "version": "0.1.0", 4 | "private": true, 5 | "dependencies": { 6 | "@chakra-ui/icons": "^2.0.14", 7 | "@chakra-ui/react": "^2.4.4", 8 | "@emotion/react": "^11.10.5", 9 | "@emotion/styled": "^11.10.5", 10 | "@testing-library/jest-dom": "^5.16.5", 11 | "@testing-library/react": "^13.4.0", 12 | "@testing-library/user-event": "^13.5.0", 13 | "firebase": "^9.17.1", 14 | "framer-motion": "^7.10.2", 15 | "react": "^18.2.0", 16 | "react-dom": "^18.2.0", 17 | "react-helmet": "^6.1.0", 18 | "react-icons": "^4.7.1", 19 | "react-router-dom": "^6.6.1", 20 | "react-scripts": "5.0.1", 21 | "react-spinners": "^0.13.7", 22 | "react-to-print": "^2.14.10", 23 | "web-vitals": "^2.1.4" 24 | }, 25 | "scripts": { 26 | "start": "react-scripts start", 27 | "build": "react-scripts build", 28 | "test": "react-scripts test", 29 | "eject": "react-scripts eject" 30 | }, 31 | "eslintConfig": { 32 | "extends": [ 33 | "react-app", 34 | "react-app/jest" 35 | ] 36 | }, 37 | "browserslist": { 38 | "production": [ 39 | ">0.2%", 40 | "not dead", 41 | "not op_mini all" 42 | ], 43 | "development": [ 44 | "last 1 chrome version", 45 | "last 1 firefox version", 46 | "last 1 safari version" 47 | ] 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/Pages/BuilderArea.jsx: -------------------------------------------------------------------------------- 1 | import React, { useContext } from 'react' 2 | import { Button } from '@chakra-ui/react'; 3 | import UserDataCollect from '../Components/UserDataCollect/UserDataCollect'; 4 | import './BuilderArea.css' 5 | import Footer from '../Components/Footer/Footer'; 6 | import ResumeContext from '../Context/ResumeContext'; 7 | import PropagateLoader from "react-spinners/PropagateLoader"; 8 | 9 | const BuilderArea = (props) => { 10 | const { showComponent, setShowComponent, loading, handlePrint } = useContext(ResumeContext) 11 | 12 | const handleSelectNewTemplate = () => { 13 | setShowComponent(!showComponent) 14 | } 15 | 16 | return ( 17 | <> 18 | {loading && } 19 | 20 |
21 | 22 |
23 | {props.theme} 24 |
25 |
26 |
27 | 28 | 29 |
30 |