Skip to content

Instantly share code, notes, and snippets.

@adrianhajdin
Last active April 18, 2025 19:01
Show Gist options
  • Select an option

  • Save adrianhajdin/52b513f1d8a8189747595a587c3132e4 to your computer and use it in GitHub Desktop.

Select an option

Save adrianhajdin/52b513f1d8a8189747595a587c3132e4 to your computer and use it in GitHub Desktop.
Build and Deploy the Ultimate Web Development Portfolio
.app {
background-color: var(--primary-color);
font-family: var(--font-base);
}
.app__whitebg {
background-color: var(--white-color);
}
.app__primarybg {
background-color: var(--primary-color);
}
.app__container {
width: 100%;
min-height: 100vh;
display: flex;
flex-direction: row;
}
.app__flex {
display: flex;
justify-content: center;
align-items: center;
}
.app__wrapper {
flex: 1;
width: 100%;
flex-direction: column;
padding: 4rem 2rem;
@media screen and (max-width: 450px) {
padding: 4rem 1rem 2rem;
}
}
.copyright {
width: 100%;
padding: 2rem 0 0;
display: flex;
flex-direction: column;
justify-content: flex-end;
align-items: flex-end;
p {
text-transform: uppercase;
color: var(--black-color);
}
}
.head-text {
font-size: 2.75rem;
font-weight: 800;
text-align: center;
color: var(--black-color);
text-transform: capitalize;
span {
color: var(--secondary-color);
}
@media screen and (min-width: 2000px) {
font-size: 4rem;
}
@media screen and (max-width: 450px) {
font-size: 2rem;
}
}
.p-text {
font-size: 0.8rem;
text-align: left;
color: var(--gray-color);
line-height: 1.5;
@media screen and (min-width: 2000px) {
font-size: 1.75rem;
}
}
.bold-text {
font-size: 1rem;
font-weight: 800;
color: var(--black-color);
text-align: left;
@media screen and (min-width: 2000px) {
font-size: 2rem;
}
@media screen and (max-width: 450px) {
font-size: 0.9rem;
}
}
.app__social {
display: flex;
justify-content: flex-end;
align-items: center;
flex-direction: column;
padding: 1rem;
div {
width: 40px;
height: 40px;
border-radius: 50%;
background-color: var(--white-color);
margin: 0.25rem 0;
border: 1px solid var(--lightGray-color);
display: flex;
justify-content: center;
align-items: center;
transition: all 0.3s ease-in-out;
svg {
width: 15px;
height: 15px;
color: var(--gray-color);
}
&:hover {
background-color: var(--secondary-color);
border-color: var(--secondary-color);
svg {
color: var(--white-color);
}
}
@media screen and (min-width: 2000px) {
width: 70px;
height: 70px;
margin: 0.5rem 0;
svg {
width: 30px;
height: 30px;
}
}
}
}
.app__navigation {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
padding: 1rem;
.app__navigation-dot {
width: 10px;
height: 10px;
border-radius: 50%;
background-color: #cbcbcb;
margin: 0.5rem;
transition: background-color 0.2s ease-in-out;
&:hover {
background-color: var(--secondary-color);
}
@media screen and (min-width: 2000px) {
width: 20px;
height: 20px;
}
}
}
@media screen and (max-width: 500px) {
.app__navigation,
.app__social {
display: none;
}
.copyright {
padding: 2rem;
}
}
import email from '../assets/email.png';
import mobile from '../assets/mobile.png';
import api from '../assets/api.png';
import cpp from '../assets/cpp.png';
import css from '../assets/css.png';
import figma from '../assets/figma.png';
import flutter from '../assets/flutter.png';
import git from '../assets/git.png';
import graphql from '../assets/graphql.png';
import html from '../assets/html.png';
import javascript from '../assets/javascript.png';
import mu5 from '../assets/mu5.png';
import node from '../assets/node.png';
import python from '../assets/python.png';
import react from '../assets/react.png';
import redux from '../assets/redux.png';
import sass from '../assets/sass.png';
import typescript from '../assets/typescript.png';
import vue from '../assets/vue.png';
import about01 from '../assets/about01.png';
import about02 from '../assets/about02.png';
import about03 from '../assets/about03.png';
import about04 from '../assets/about04.png';
import profile from '../assets/profile.png';
import circle from '../assets/circle.svg';
import logo from '../assets/logo.png';
import adidas from '../assets/adidas.png';
import amazon from '../assets/amazon.png';
import asus from '../assets/asus.png';
import bolt from '../assets/bolt.png';
import nb from '../assets/nb.png';
import skype from '../assets/skype.png';
import spotify from '../assets/spotify.png';
export default {
email,
mobile,
api,
cpp,
css,
figma,
flutter,
git,
graphql,
html,
javascript,
mu5,
node,
python,
react,
redux,
sass,
typescript,
vue,
about01,
about02,
about03,
about04,
profile,
circle,
logo,
adidas,
amazon,
asus,
bolt,
nb,
skype,
spotify,
};
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&display=swap");
:root {
--font-base: "DM Sans", sans-serif;
--primary-color: #edf2f8;
--secondary-color: #313bac;
--black-color: #030303;
--lightGray-color: #e4e4e4;
--gray-color: #6b7688;
--brown-color: #46364a;
--white-color: #ffffff;
}
* {
box-sizing: border-box;
padding: 0;
margin: 0;
scroll-behavior: smooth;
}
.app__skills {
flex: 1;
width: 100%;
flex-direction: column;
}
.app__skills-container {
width: 80%;
margin-top: 3rem;
display: flex;
flex-direction: row;
@media screen and (max-width: 900px) {
width: 100%;
flex-direction: column;
}
}
.app__skills-list {
flex: 1;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
align-items: flex-start;
margin-right: 5rem;
@media screen and (max-width: 900px) {
margin-right: 0;
justify-content: center;
align-items: center;
}
}
.app__skills-item {
flex-direction: column;
text-align: center;
margin: 1rem;
transition: all 0.3s ease-in-out;
div {
width: 90px;
height: 90px;
border-radius: 50%;
background-color: #fef4f5;
img {
width: 50%;
height: 50%;
}
&:hover {
box-shadow: 0 0 25px #fef4f5;
}
@media screen and (min-width: 2000px) {
width: 150px;
height: 150px;
}
@media screen and (max-width: 450px) {
width: 70px;
height: 70px;
}
}
p {
font-weight: 500;
margin-top: 0.5rem;
}
@media screen and (min-width: 2000px) {
margin: 1rem 2rem;
p {
margin-top: 1rem;
}
}
}
.app__skills-exp {
flex: 1;
display: flex;
justify-content: flex-start;
align-items: flex-start;
flex-direction: column;
@media screen and (max-width: 900px) {
margin-top: 2rem;
}
}
.app__skills-exp-item {
width: 100%;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: flex-start;
margin: 1rem 0;
}
.app__skills-exp-works {
flex: 1;
.app__skills-exp-work {
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
margin-bottom: 1rem;
cursor: pointer;
h4 {
font-weight: 500;
}
p {
font-weight: 400;
color: var(--gray-color);
margin-top: 5px;
}
}
}
.app__skills-exp-year {
margin-right: 3rem;
p {
font-weight: 800;
color: var(--secondary-color);
}
@media screen and (max-width: 450px) {
margin-right: 1rem;
}
}
.skills-tooltip {
max-width: 300px !important;
background-color: var(--white-color) !important;
box-shadow: 0 0 25px rgba(0, 0, 0, 0.1) !important;
border-radius: 5px !important;
padding: 1rem !important;
color: var(--gray-color) !important;
text-align: center !important;
line-height: 1.5 !important;
opacity: 1 !important;
@media screen and (min-width: 2000px) {
font-size: 1.75rem !important;
max-width: 500px !important;
line-height: 2 !important;
}
}
@ipelengmekgwe

Copy link
Copy Markdown

Thanks

@Cyebukayire

Copy link
Copy Markdown

You're amazing!
Thank you :)

@Aimeana100

Copy link
Copy Markdown

Great :)

@oparamiracle

Copy link
Copy Markdown

thank you

@alindaByamukama

Copy link
Copy Markdown

This was a great course, very well put together, I feel like I have learned some solid ReactJS skills

@waltodd

waltodd commented Jun 7, 2022

Copy link
Copy Markdown

Amazing

@Gideon877

Copy link
Copy Markdown

Thank you very much

@eyeland

eyeland commented Jun 22, 2022

Copy link
Copy Markdown

GOAT !! thanks so much

@Fidan02

Fidan02 commented Aug 9, 2022

Copy link
Copy Markdown

I need help!
I am at the wrapping part where we add the socials and navigation dots, I added everything the icons and dots are good, but their position is showing in the middle of the webpage instead of the side and center.

Would appreciate some help :)

@hargroa2

hargroa2 commented Aug 12, 2022

Copy link
Copy Markdown

I need help! I am at the wrapping part where we add the socials and navigation dots, I added everything the icons and dots are good, but their position is showing in the middle of the webpage instead of the side and center.

Would appreciate some help :)

Hey @Fidan02 , I had the exact same problem and for me it was in AppWrap.js. React is SUPER sensitive to spaces and whatnot so make sure that your AppWrap page is exactly identical to his. My problem was literally just an empty line under the SocialMedia component that was causing it to be centered as its own div block on the page. Hope this helps!

@BonatheRipper

Copy link
Copy Markdown

Thanks so much

@deepak-singh19

Copy link
Copy Markdown

My app.scss file is not working, it runs but without styling

@Clever-Shivanshu

Copy link
Copy Markdown
  • **Thank you sir **

@Reqima-dev

Copy link
Copy Markdown

Thank You

@veektrie

Copy link
Copy Markdown

really appreciate this resource

@sachanadhrl

Copy link
Copy Markdown

really appreciate this tutorial, i've learned a lot from your tutorial

@agomezjuan

Copy link
Copy Markdown

Thanks a lot!!

@NabintouSFofana

NabintouSFofana commented Dec 30, 2022

Copy link
Copy Markdown

thank you 👍

@whitejsx

Copy link
Copy Markdown

i really love your level of professionalism when it comes to coding

@hassanahmadp

Copy link
Copy Markdown

My app.scss file is not working, it runs but without styling

Try uninstalling node-sass package and installing sass

@The-Eg0

The-Eg0 commented Apr 24, 2023

Copy link
Copy Markdown

<3

@aelijason

Copy link
Copy Markdown

Best Portfolio Page with full Stack Development, Love it

@brain-ambani

Copy link
Copy Markdown

Thank you so much, this is very informative.

@ochudi

ochudi commented Sep 14, 2023

Copy link
Copy Markdown

Thanks, Adrian!

@AbhishekSingh0901

Copy link
Copy Markdown

Thanks Adrian

@marianickolaevna

Copy link
Copy Markdown

Thank you!!

@vishwajeeta

Copy link
Copy Markdown

thank you sir

@spirited24

Copy link
Copy Markdown

Thank you Sir

@marouane-m7b

Copy link
Copy Markdown

Thank you

@cliffdoyle

Copy link
Copy Markdown

Thank You Sir.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment