GithubHelp home page GithubHelp logo

oskar-gmerek / oskargmerek.com Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 2.34 MB

Source code of my personal website oskargmerek.com

Home Page: https://oskargmerek.com

JavaScript 14.94% TypeScript 18.43% HTML 6.30% Svelte 51.95% CSS 8.38%

oskargmerek.com's Introduction

πŸ‘‹ Hi there! I'm Oskar.

I'm Oskar Gmerek, a passionate programmer with a strong interest in frontend development. I'm eager to break into the industry and make my mark by creating clean, efficient, and user-friendly web applications. My goal is to learn from experienced professionals and contribute to the success of innovative projects.

πŸ’» Workplace

  • ❗️❗️ πŸ” I am actively seeking my first full-time role in the IT industry, with a preference for remote or hybrid positions based in West Sussex or London, ideally in an environment open to individuals without commercial experience, that invests in employee training, and utilizes a modern technology stack.

πŸŽ“ Education & Bootcamp Experience

  • πŸ–₯️ Software Engineering (Fundamentals) by HyperionDev [In Progress]
    • Actively participating, developing, and validating my skills
    • Check out my progress: Bootcamp Portfolio
    • Aiming to complete the program with a certificate
  • 🌐 LinkedIn Learning
    • Participated in various courses and earned certificates to confirm my acquired skills
  • πŸ¦‰ Continuous self-learning based on documentation, articles, blogs, videos, open-source repositories, etc.

πŸ’Ό Experience

  • 🚚 Last Mile Delivery Supply Chain Industry
    • Gained valuable insights into the importance of utilizing modern technologies and adapting to changing market conditions
    • Gained experience in building and leading teams

πŸ› οΈ Technical Skills

  • 🌟 Preferred technology stack:
    • Svelte, SvelteKit
    • MasterCSS
    • SurrealDB
  • 🌐 Web Development: HTML, CSS, JavaScript
  • πŸ“š Version Control: Git, GitHub

🌟 Soft Skills

  • πŸ† Determination and continuous development mindset
  • 🌱 Ability to learn quickly
  • 🀝 Experience as both a team member and team leader

πŸ“« Get in Touch

πŸ“Š My GitHub Stats

Contribution Stats

oskargmerek.com's People

Contributors

actions-user avatar dependabot[bot] avatar oskar-gmerek avatar

Stargazers

 avatar  avatar

Watchers

 avatar

oskargmerek.com's Issues

Seo for homepage

Meta tags:

  • title
  • description
  • keywords
  • canonical link
  • robots tags
  • microdata schema

Content:

  • Rewrite the intro to use keywords.

Fix HTML & CSS:

  • Missing space overflow:hiddenbanner
  • attribute name on element select must not be empty.
  • Attribute placeholder not allowed on element select
  • Attribute disablepictureinpicture not allowed on element video
  • Attribute disableremoteplayback not allowed on element video
  • Element track is missing required attribute src

Seo for contact page

Meta tags:

  • title
  • description
  • keywords
  • canonical link
  • robots tags
  • microdata schema

Fix HTML & CSS:

  • Bad value for attribute name on element select must not be empty
  • Attribute placeholder not allowed on element select
  • Attribute placeholder not allowed on element select

Automation: Pull translations

Description:
Prevent production releases with missing translations.

Roadmap:

  • Add Tolgee API key to GitHub secrets
  • Add package.json script: tolgee:pull
  • Add .tolgeerc config file to determine project ID
  • Move translation files to json folder to prevent unwanted overwriting of locales.ts file
  • Modify release action to pull translation files on release

`LangSelect` language abbreviation not visible on small screen

Current behaviour:

When the viewport is less than 776px wide,
the language abbreviation becomes hidden by ⋁ symbol of a select component.

Expected behavior:

The language abbreviation and ⋁ symbol should be always visible, on every screen.

Integration with transactional email service

Sending email is one thing, but make them to be devilabry is different thing.
Implementation of this functionality on its own may be expensive and difficult. As this website is not a email service, there is no sense to try implementing anything. Much better option is to use 3rd party specialized service, especially as it will fit for a free quote for a long time or even forever.

Integrate one of services for email sending functionality:

  • Sendinblue
  • Mailgun
  • SendGrid
  • Amazon SES
  • Postmark
  • Mailjet
  • MailerSend
  • Moosend
  • Mailgun
  • Mailchimp

Criteria:

  • Highest user rating is better
  • Highest free quota limit is better
  • Lower price is better
  • Simpler integration is better
  • No charge for inbound emails is required

mobile `menu`

Implementation of β€žhamburger” menu for mobile

`slide` animation not apply on change between `emailSubject` other than initial

Current behaviour:
If I choose the job_offer subject, and then switch it to collaboration then will be no slide animation triggered

Expected behaviour:
slide animation should be triggered every time the subject is changed

How to fix this:
All form parts related to each subject need to be in the container triggering a slide animation

Default language always redirect to the main page

[BUG] Default language always redirect to the main page

Current behavior:

When the user type by hand an URL to a subpage under the default language, then will be redirected to the main page instead of seeing an expected subpage.

Wanted behavior:

When the user type for example https://oskargmerek.com/en/contact then should be redirected to the https://oskargmerek.com/contact subpage.

Hover area for `BannerMe` is broken

When user hover even 200px under the banner, its still recognized as a hover area of this banner.

Expected behavior:

  • Hover only over the banner section and his overflowed elements should trigger hover event on BannerMe animated parts.

Scaling of `TextArea` component fails

When the value of TextArea contains line breakers enters \n then works as expected.
But if the value contains long text with just spaces (or without them), the height of the textarea is not adjusted.

Current behaviour:
If we copy

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

and paste it into TextArea then we will see just the first two lines and scroll area will be active.

Expected behaviour
When we copy and paste the above text then height of TextArea should be adjusted and the whole text should be visible. No scroll area should be active in the input field.

Translations are not updated on the first visit

Current behavior:

After selecting different than the default language on the first visit:

  • βœ… url is updated correctly
  • βœ… local storage is updated correctly
  • βœ… translations file is loaded
  • ❌ text on the page is not updated
  • Text is updated correctly even on the first visit if it was visited firstly at not default language url, or page was refreshed on not default url

Internationalization of website

This is a roadmap for implementing Internationalization:

Steps:

  • Integrate with @tolgee/svelte library as an i18n engine
  • Add initial translation files for English and Polish
  • Convert text to translation keys
  • Create a component to select different languages

Contact form

The contact form should send two emails after submission:

  1. The first email with the form content should go to my email box.
  2. The second email should confirm submission and go to the user if email is provided.

The form should look different depending on the subject of contact. The starting list of subjects:

  • Web Development

    • Project Name text input
    • Project Details textarea
    • Budget text input
    • Deadline select / text input
    • Additional Requirements textarea
  • Job Offer

    • Company Name text input
    • Company Website text input
    • Position text input
    • Job Description textarea
    • Work Mode select onsite | hybrid | flexible | remote
    • Location text input *hidden for remote
    • Salary text input
    • Additional Information textarea
  • #46

    • Company Name text input
    • Company Website text input
    • Nature of Partnership textarea
    • Expected Benefits textarea
    • Additional Information textarea
  • #47

    • Organization Type select company | charity | freelance | other
      • Company Name text input *only for company
      • Organisation Name text input *only for charity
    • Collaboration Details textarea
    • Expected Outcomes textarea
    • Additional Information textarea
  • #48

    • Company Name text input
    • Company Website text input
    • Investment Details textarea
    • Expected Returns textarea
    • Additional Information textarea
  • #49

    • Message textarea
    • Additional Information textarea

For all subjects there should be contact details:

  • #50
    • Full name text input
    • Email Address text input *with validation for valid email format
    • Mobile Number text input
    • Other contact ways textarea

There is no need to require to fill in more fields than Full name + one option of contact.
The fields are meant to suggest what information I expect, but in no way do I want to force users to fill in the information they do not want to provide. So the form will be validated only if the name of the user was provided and any of the contact ways. Additionally, I will validate if email is correctly typed and all other fields will be left as they are.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.