Skip to content

Commit

Permalink
cv maker, release alfa
Browse files Browse the repository at this point in the history
  • Loading branch information
kondaurovDev committed Feb 18, 2025
1 parent b61e729 commit 555c4ff
Show file tree
Hide file tree
Showing 7 changed files with 221 additions and 124 deletions.
1 change: 1 addition & 0 deletions docs/cv-maker/assets/index-BEKBKFMb.css

Large diffs are not rendered by default.

30 changes: 0 additions & 30 deletions docs/cv-maker/assets/index-C8cJAPg2.js

This file was deleted.

1 change: 0 additions & 1 deletion docs/cv-maker/assets/index-CpA7MgDL.css

This file was deleted.

30 changes: 30 additions & 0 deletions docs/cv-maker/assets/index-pP8_YhaN.js

Large diffs are not rendered by default.

160 changes: 124 additions & 36 deletions docs/cv-maker/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,69 +2,157 @@

<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css"
integrity="sha512-Evv84Mr4kqVGRNSgIGL/F/aIDqQb7xQ2vcrdIwxfjThSH8CSR7PBEakCr51Ck+w+/U6swU2Im1vVX0SVk9ABhg=="
crossorigin="anonymous" referrerpolicy="no-referrer" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css"
integrity="sha512-NhSC1YmyruXifcj/KFRWoC561YpHpc5Jtzgvbuzx5VozKpWvQ+4nXhPdFgmx8xqexRcpAglTj9sIBWINXa8x5w=="
crossorigin="anonymous" referrerpolicy="no-referrer" />
<script defer src="https://cdn.jsdelivr.net/npm/@monaco-editor/[email protected]/lib/umd/monaco-loader.min.js"></script>

<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>✍️</text></svg>">
<title>CV Maker</title>
<script type="module" crossorigin src="./assets/index-C8cJAPg2.js"></script>
<link rel="stylesheet" crossorigin href="./assets/index-CpA7MgDL.css">

<script async src="https://www.googletagmanager.com/gtag/js?id=G-FKWW5S34LH"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());

gtag('config', 'G-FKWW5S34LH');
</script>
<script type="module" crossorigin src="./assets/index-pP8_YhaN.js"></script>
<link rel="stylesheet" crossorigin href="./assets/index-BEKBKFMb.css">
</head>

<body x-data style="display: flex; flex-direction: column;">
<body x-data="state" class="flex flex-col p-16 pt-8">
<!-- navigation -->
<div
class="no-print pb-2 flex gap-2 justify-center"
x-init="$watch('mode', value => $dispatch('mode-was-changed', value))"
>

<div style="padding-bottom: 20px;" class="no-print">
<label class="menu-item" :class="{ 'active': $store.state.mode === 'editor' }">
<input type="radio" value="editor" x-model="$store.state.mode" /> Editor
<select
class="self-start"
x-model="currentResume"
@change="$dispatch('init-resume')"
>
<template x-for="resume in availableResumes" :key="resume.id">
<option
:value="resume.id"
x-text="resume.name"
:selected="currentResume === resume.id"
V></option>
</template>
</select>

<div class="mx-auto">
<label
class="hover:cursor-pointer text-lg"
:class="{ 'text-orange-400 underline': mode === 'editor' }"
>
<input
type="radio"
class="appearance-none"
value="editor"
x-model="mode"
/> Editor
</label>

<label
class="menu-item"
:class="{ 'active': $store.state.mode === 'view' }"
x-show="!$store.state.editorHasError" x-transition
class="hover:cursor-pointer text-lg"
:class="{ 'text-orange-400 underline': mode === 'view' }"
x-show="!editorHasError" x-transition
>
<input
type="radio"
value="view"
x-model="$store.state.mode"
x-model="mode"
class="appearance-none"
/> View
</label>
</div>


</div>

<!-- code editor -->
<div x-show="$store.state.mode == 'editor'">
<div x-data="sections">
<template x-for="mode in sections">
<label
class="menu-item"
:class="{ 'active': $store.state.editorSection === mode.id }"
>
<input
type="radio"
:value="mode.id"
x-model="$store.state.editorSection"
@change="$dispatch('section-changed')"
/>
<span x-text="mode.label"></span>
</label>
</template>
<!-- code editor and code section -->
<div
class="flex gap-2 pb-2"
x-show="mode == 'editor'"
>
<div class="self-start">
<button
class="btn bg-sky-500 hover:bg-sky-700 text-sm"
x-on:click="$dispatch('save')"
>Save as</button>
<button
class="btn bg-[#DC382D] hover:bg-[#B93224]"
x-on:click="$dispatch('delete')"
>Delete</button>
</div>

<div
class="self-end ml-auto"
>
<select
class=" bg-white border border-gray-300 py-2 px-3 rounded focus:outline-none focus:ring-0"
@change="$dispatch('section-changed')"
x-model="editorSection"
>
<template x-for="section in $store.sections" :key="section.id">
<option
:value="section.id"
:selected="editorSection === section.id"
x-text="section.label"
></option>
</template>
</select>
</div>

<div
id="code-editor"
></div>
</div>

<div x-show="$store.state.mode == 'view'">
<div x-html="$store.state.resumeHtml"></div>
<div
class="w-full h-full"
x-show="mode == 'editor'"
id="code-editor"
></div>

<div
class="self-center"
x-show="mode == 'view'"
>
<div
x-html="resumeHtml"
></div>
</div>

<button
@click="window.print()"
x-show="mode == 'view'"
class="no-print hover:cursor-pointer fixed top-10 right-20 bg-blue-500 hover:bg-blue-600 text-white py-2 px-4 rounded-full shadow-lg"
>
Print
</button>

<footer class="bg-gray-100 text-gray-700 py-4 no-print mt-20">
<div class="container mx-auto text-center">
<p>© 2025 Created by Aleksandr Kondaurov</p>
<p>
<a
target="_blank"
href="https://www.linkedin.com/in/alexander-kondaurov/"
rel="noopener noreferrer"
class="fa-brands fa-lg fa-linkedin text-blue-300"
></a>
<a
target="_blank"
href="https://github.com/orgs/effect-ak/repositories"
rel="noopener noreferrer"
class="fa-brands fa-lg fa-github"
></a>
</p>
</div>
</footer>

</body>

</html>
114 changes: 57 additions & 57 deletions docs/cv-maker/john-doe.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"coverLetter": {
"position": "React developer",
"content": [
"I'm really good at fronted and I will be <b>great asset</b> at your company",
"I'm really good at frontend and I will be <b>great asset</b> in your company",
"Your company needs a developer who can work remotely. I've experience working experience in distibuted teams"
]
},
Expand Down Expand Up @@ -41,6 +41,62 @@
}
]
},
"employmentHistory": [
{
"companyName": "Green been",
"workType": "hybrid",
"location": { "country": "Finland", "city": "Helsinki" },
"companyDescription": "Software development outsourcing company",
"website": "https://google.com/",
"position": "Senior Software Engineer",
"start": "2024-04",
"end": "2024-12",
"projects": [
{
"order": 1,
"client": {
"name": "Unknown client",
"description": "Food Company"
},
"title": "Market place",
"roles": ["Typescript frontend developer"],
"stack": ["typescript", "vitest", "aws"],
"tools": ["jenkins", "bitbucket", "browserstack", "contentful", "jira", "scrum", "confluence"],
"achivements": [
{
"technical": "Developed a frontend application using AlpineJS and HTMX",
"human": "Developed a frontend application using AlpineJS and HTMX"
}
]
}
]
},
{
"companyName": "Nice coffee",
"workType": "on-site",
"companyDescription": "Software development outsourcing company",
"location": { "country": "United Kingdom", "city": "London" },
"website": "https://google.com/",
"position": "Senior Software Engineer",
"start": "2020-01",
"end": "2023-12",
"projects": [
{
"order": 1,
"title": "Market place",
"roles": ["UX Designer", "Frontend Developer"],
"stack": ["typescript"],
"tools": ["figma"],
"achivements": [
{
"technical": "Designed",
"human": "Designed a nice web page"
}
]
}
]
}
],
"technologies": [
{
"id": "typescript",
Expand Down Expand Up @@ -224,61 +280,5 @@
"category": "framework",
"url": "https://en.wikipedia.org/wiki/Akka_(toolkit)"
}
],
"employmentHistory": [
{
"companyName": "Green been",
"workType": "hybrid",
"location": { "country": "Finland", "city": "Helsinki" },
"companyDescription": "Software development outsourcing company",
"website": "https://google.com/",
"position": "Senior Software Engineer",
"start": "2024-04",
"end": "2024-12",
"projects": [
{
"order": 1,
"client": {
"name": "Unknown client",
"description": "Food Company"
},
"title": "Market place",
"roles": ["Typescript frontend developer"],
"stack": ["typescript", "vitest", "aws"],
"tools": ["jenkins", "bitbucket", "browserstack", "contentful", "jira", "scrum", "confluence"],
"achivements": [
{
"technical": "Developed a frontend application using AlpineJS and HTMX",
"human": "Developed a frontend application using AlpineJS and HTMX"
}
]
}
]
},
{
"companyName": "Nice coffee",
"workType": "on-site",
"companyDescription": "Software development outsourcing company",
"location": { "country": "United Kingdom", "city": "London" },
"website": "https://google.com/",
"position": "Senior Software Engineer",
"start": "2020-01",
"end": "2023-12",
"projects": [
{
"order": 1,
"title": "Market place",
"roles": ["UX Designer", "Frontend Developer"],
"stack": ["typescript"],
"tools": ["figma"],
"achivements": [
{
"technical": "Designed",
"human": "Designed a nice web page"
}
]
}
]
}
]
}
9 changes: 9 additions & 0 deletions docs/telegram-bot-playground/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,15 @@
<link rel="icon" type="image/png" sizes="32x32" href="./favicon.ico">


<script async src="https://www.googletagmanager.com/gtag/js?id=G-FKWW5S34LH"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());

gtag('config', 'G-FKWW5S34LH');
</script>

<script type="module" crossorigin src="./assets/index-BDzOqd_w.js"></script>
<link rel="stylesheet" crossorigin href="./assets/index-BEXZ83O-.css">
</head>
Expand Down

0 comments on commit 555c4ff

Please sign in to comment.