Portfolio is a HTML, CSS and JavaScript project that displays a personal portfolio. I have parsed a Figma design to create a UI in both mobile and desktop version. I have also used JavaScript events and DOM manipulation to create the mobile menu pop-up and modal pop ups.
Portfolio setup, Mobile First and DOM Manipulation
[Portfolio] is a simple HTML, CSS and JavaScript project that teaches how to parse a Figma design to create a UI in both mobile and desktop version, use JavaScript events and use JavaScript to manipulate DOM elements.
Click here to see a live demo of this project online:
Creating your first βPortfolioβ project
To get a local copy up and running, follow these steps.
In order to run this project you need:
-A Git hub account
-Git bash
-Node JS
-Visual Studio Code as your code editor
-Figma account
Clone this repository to your desired folder:
cd my-folder
git clone[ (https://github.com/joyapisi/ThePortfolio.git)]
A linter is a tool to help you improve your code. You can learn more about Linters here: (source: (https://www.testim.io/blog/what-is-a-linter-heres-a-definition-and-quick-start-guide/)).
Advantages of Linting:
You can find linters for most of the programming languages, e.g. Rubocop for Ruby or ESLint for JavaScript.
Also, there are many ways you can integrate a linter in your workflow:
-text editor plugin
-GitHub Actions
-GitHub apps
Note: The npm package manager is going to create a node_modules directory to install all of your dependencies. You shouldnβt commit that directory. To avoid that, you can create a .gitignore file and add node_modules to it:
node_modules/
Run
npm install --save-dev [email protected] [email protected] [email protected] [email protected]
This is a customizable linting tool that helps you improve your siteβs accessibility, speed, cross-browser compatibility, and more by checking your code for best practices and common errors.
NOTE: If you are using Windows, make sure you initialize npm to create package.json
file.
npm init -y
npm install --save-dev [email protected]
how to use npm: (https://docs.npmjs.com/downloading-and-installing-node-js-and-npm).npx hint .
Copy contents of .eslintrc.json to the root directory of your projectA mighty, modern linter that helps you avoid errors and enforce conventions in your styles.
npm install --save-dev [email protected] [email protected] [email protected] [email protected]
not sure how to use npm? Read this.
Copy .stylelintrc.json to the root directory of your project.
Do not make any changes in config files - they represent style guidelines that you share with your team - which is a group of all Microverse students.
If you think that change is necessary - open a Pull Request in this repository and let your code reviewer know about it.
4. Run npx stylelint β**/*.{css,scss}β on the root of your directory of your project.
Fix linter errors.
IMPORTANT NOTE: feel free to research auto-correct options for Stylelint if you get a flood of errors but keep in mind that correcting style errors manually will help you to make a habit of writing a clean code!
-Pick a figma template to work on and use css and html to build a replica the first 2 sections of the mobile website using the template you have chosen.
-Make sure to replace the contents of helloworld.html with new contents of your own html code which replicates the chosen figma template.
-In your figma template, you will create the toolbar (or header) and the headline section (right after the header)
note
-Make sure to pick the mobile template on figma and not the desktop template.
-In order to lay out the elements on the page you should use Flexbox in all 2 sections.
-You donβt need to implement any functionality that requires JavaScript, like opening the menu or creating dropdowns.
-You must stick to the design as much as possible (e.g. font, colors, images, text, margins) using the templates in Figma.
-Implement the button interactions (enable, hover, etc.).
π€ Joy Phoebe
Dave: (https://github.com/dave-prog)
Nelofar: (https://github.com/Nelofarzabi)
Ismail Mayito: (https://github.com/ismayito)
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
If you like this project, kindly leave a comment below and share it with someone who enjoys coding! Coding is all about continuous learning and allowing yourself to be a beginner. Keep going!
Iβm thankful to Microverse for providing a study platform which guided me through this project and to my coding partners at Microverse for the collaborative effort.
[Question_1]
How can I download figma images?
[Question_2]
Where can I download node JS for installation?
[Question_3]
How can I style with flexbox?
This project is MIT licensed.