Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

solution #1008

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
- run: npm test
- name: Upload HTML report(backstop data)
if: ${{ always() }}
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: report
path: backstop_data
3 changes: 0 additions & 3 deletions .prettierignore

This file was deleted.

20 changes: 0 additions & 20 deletions .prettierrc

This file was deleted.

72 changes: 37 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# Dia landing page
Implement landing page according to [Figma design](https://www.figma.com/file/7qwsWggv9BAxMi2VPhBuPr/Air-(formerly-Dia)?node-id=9138%3A35) - Use BEM and SCSS

Implement landing page according to [Figma design](<https://www.figma.com/file/7qwsWggv9BAxMi2VPhBuPr/Air-(formerly-Dia)?node-id=9138%3A35>) - Use BEM and SCSS

Adapt the page to the following screens:

- Large screens 2560px
- The design 1600px
- Desktop 1280px
Expand All @@ -12,46 +14,46 @@ Adapt the page to the following screens:
1. Implement the header with `nav`.
1. Implement `Strategic agency` block.
1. Implement slider (You may start with a single picture).
- implement slider block as absolutely positioned element with `right: 0` and `bottom: 0` position inside the black container
- on large screens limit the width of black container to 1600px, so that left outer space have a standart grey background color
3. Implement `Who we are` block.
4. Implement `Our expertise` block with the card reused 3 times.
5. Implement `Process` block with 4 process cards.
- use `trasnlateY(-50%)` to move cards up
6. Implement `Testimonials` block.
- each card should have a fixed width and on the small screens the whole block should switch to column layout
8. Implement `Vision, Passion, Results` block.
- use https://github.com/mate-academy/layout_dia/blob/master/src/images/Shapes.png as background picture
9. Implement `Send us a message` block.
10. Implement `Contact us` block.
11. Implement the footer.
- implement slider block as absolutely positioned element with `right: 0` and `bottom: 0` position inside the black container
- on large screens limit the width of black container to 1600px, so that left outer space have a standart grey background color
1. Implement `Who we are` block.
1. Implement `Our expertise` block with the card reused 3 times.
1. Implement `Process` block with 4 process cards.
- use `trasnlateY(-50%)` to move cards up
1. Implement `Testimonials` block.
- each card should have a fixed width and on the small screens the whole block should switch to column layout
1. Implement `Vision, Passion, Results` block.
- use https://github.com/mate-academy/layout_dia/blob/master/src/images/Shapes.png as background picture
1. Implement `Send us a message` block.
1. Implement `Contact us` block.
1. Implement the footer.

## Checklist for preparing a portfolio project for HR review

1. Don’t forget to add the title “Air” for the whole web page
2. A landing page is implemented strictly according to the design in Figma
4. Links in the header and footer menus should lead to the corresponding blocks of the landing page
5. The speed of animations is the same throughout the landing page (for example, increasing when hovering or moving blocks when scrolling)
6. Placeholders in the forms suggest what to enter, and if there is a validation of the form, then it is clear in what format to enter the phone number
7. Make sure everything looks neat on mobile and without horizontal scrolling
8. Add favicon
9. Add a smooth scroll for the whole page
10. When you try to send the form there is no 405 error and the form is automatically cleared after submit and is scrolled to the top of the page or the page is reloaded
11. The form shouldn’t submit empty
12. The "Learn more" button should lead to the closest block (Our expertise)
13. The "Hire Us" button in the header menu should lead to the contact form
14. In the PROCESS section add a hover effect to cards (for example, let them increase in size a little)
15. Inside the cards in PROCESS sections, make a link out of the "Learn More" text, so that it hovers simultaneously with the arrow button on the left
16. In the Vision, Passion, Results section, the “Apply” button also should lead to the contact form
17. In the Testimonials and Our expertise section add hover effects for each review
18. After clicking the menu buttons, the landing page will scroll exactly to the beginning of the desired block (exactly where its section begins)
19. The arrows at the bottom of the first block should not respond slowly to pressing (this is possible if the pictures are too large)
20. When a user clicks on Address Google Maps is opened in a new tab
21. The user must have the opportunity to conveniently write 2-3 lines of text in the message field
22. OPTIONAL: After everything is done, you can implement the slider on the hero page (you can find images for it on Unsplash)

3. Links in the header and footer menus should lead to the corresponding blocks of the landing page
4. The speed of animations is the same throughout the landing page (for example, increasing when hovering or moving blocks when scrolling)
5. Placeholders in the forms suggest what to enter, and if there is a validation of the form, then it is clear in what format to enter the phone number
6. Make sure everything looks neat on mobile and without horizontal scrolling
7. Add favicon
8. Add a smooth scroll for the whole page
9. When you try to send the form there is no 405 error and the form is automatically cleared after submit and is scrolled to the top of the page or the page is reloaded
10. The form shouldn’t submit empty
11. The "Learn more" button should lead to the closest block (Our expertise)
12. The "Hire Us" button in the header menu should lead to the contact form
13. In the PROCESS section add a hover effect to cards (for example, let them increase in size a little)
14. Inside the cards in PROCESS sections, make a link out of the "Learn More" text, so that it hovers simultaneously with the arrow button on the left
15. In the Vision, Passion, Results section, the “Apply” button also should lead to the contact form
16. In the Testimonials and Our expertise section add hover effects for each review
17. After clicking the menu buttons, the landing page will scroll exactly to the beginning of the desired block (exactly where its section begins)
18. The arrows at the bottom of the first block should not respond slowly to pressing (this is possible if the pictures are too large)
19. When a user clicks on Address Google Maps is opened in a new tab
20. The user must have the opportunity to conveniently write 2-3 lines of text in the message field
21. OPTIONAL: After everything is done, you can implement the slider on the hero page (you can find images for it on Unsplash)

## Github flow

1. **Fork** the repo.
2. **Clone** the forked one. (The project link should have your name but not `mate-academy`)
3. Run `npm install` (or just `npm i`).
Expand All @@ -65,7 +67,7 @@ Adapt the page to the following screens:
11. `git push origin develop` - to send you code for PR.
12. Create a Pull Request (PR) from your branch `develop` to branch `master` of original repo.
13. Replace `<your_account>` with your Github username in the
[DEMO LINK](https://<your_account>.github.io/layout_dia/).
[DEMO LINK](https://Blervin1.github.io/layout_dia/).
14. Copy `DEMO LINK` to the PR description.

> To update you PR repeat steps 7-11.
67 changes: 35 additions & 32 deletions checklist.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,35 @@

# Checklist for preparing a portfolio project

## Tech review

1. Add favicon
2. Add a smooth scroll for the whole page (`scroll-behavior: smooth;`)
3. Logos in header and footer should be links to home page
4. Make sure when you click on logo there is no 404 error (Use `href="#"` in `anchor tag`)
5. In the PROCESS section add a hover effect to cards (for example, let them increase in size a little)
6. In the Testimonials and Our expertise section add hover effects for each review
7. All interactive elements(*links, buttons, pictures, icons*) ***should have a hover effect and cursor pointer***. User must intuitively understand that he can interact with them
8. When a user clicks on Address Google Maps is opened in a new tab (Use `target="_blank"`)
9. Make sure when you click on logo there is no 404 error (Use `href="#"` in `anchor tag`)
10. The user must have the opportunity to conveniently write 2-3 lines of text in the message input field
11. When you try to send the form there is no 405 error and the form is automatically cleared after submit and is scrolled to the top of the page or the page is reloaded
12. The form shouldn’t submit empty
13. After autocomplete the form, change the [default styles](http://joxi.ru/EA4xgG8HXwL4lA). Read more about [changing autocomplete styles](https://css-tricks.com/snippets/css/change-autocomplete-styles-webkit-browsers/)
14. OPTIONAL: After everything is done, you can implement the slider in the first section

## HR review

1. To make it clear to the recruiter what exactly this landing page is, it is better to give the whole web page the title “Air”
2. A landing page is implemented strictly according to the design in Figma
3. Links in the header and footer menus should lead to the corresponding blocks of the landing page
4. The speed of animations is the same throughout the landing page (for example, increasing when hovering or moving blocks when scrolling)
5. Placeholders in the forms suggest what to enter, and if there is a validation of the form, then it is clear in what format to enter the phone number
6. Make sure everything looks neat on mobile and without horizontal scrolling
7. The "Learn more" button should lead to the closest block (Our expertise)
8. The "Hire Us" button in the header menu should lead to the contact form
9. In the `Vision`, `Passion`, `Results` sections, the “Apply” button also should lead to the contact form
10. All the social icons in the footer should be clickable and open the social networks in a new tab
1. Use the logo as a favicon
2. Use the landing name as a page title
3. All logos should be links to the top of the page
4. Change text color on hover for phone, email, and address
5. Make sure phone icons and phone numbers are real links to start a call
6. All addresses should be links to some location on Google Maps. Open them in a new tab with `target="_blank"`.
7. Increase all images on hover (make them links to #, if there is no better option)
8. Make sure everything looks neat on mobile and without horizontal scrolling
9. The speed of animations should be the same throughout the page (for example, increasing when hovering or moving blocks when scrolling)
10. Ensure that all `nav__links` work smoothly
11. Disable page scrolling under the menu using the next code:
```css
.page:has(.page__menu:target) {
overflow: hidden; /* not to scroll the page */
}
```
12. Make it possible to scroll the menu if it is higher than the viewport;
```css
.menu {
overflow: auto; /* to scroll the menu if needed */
}
.menu__top {
position: sticky; /* to keep cross always visible */
top: 0;
z-index: 1;
background-color: #e5e5e5;
}
```
13. All form fields should be required and have correct types (`email`, `tel`, etc.)
14. Placeholders should give examples of what should be added, to make the expected format clear
15. The page shouldn't be reloaded on form submit, but the fields should be cleared. Use:
```html
<form onsubmit="this.reset(); return false;">
```
16. Make the `footer` sticky at the bottom with `z-index: -1` to get a `fixed` background effect.
20 changes: 20 additions & 0 deletions cypress.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
const { defineConfig } = require('cypress');

module.exports = defineConfig({
e2e: {
baseUrl: 'http://localhost:3000',
supportFile: false,
specPattern: 'cypress/integration/**/*.spec.{js,ts,jsx,tsx}',
},
video: true,
viewportHeight: 1920,
viewportWidth: 1080,
screenshotOnRunFailure: true,
reporter: 'mochawesome',
reporterOptions: {
reportDir: 'raw_reports',
overwrite: false,
html: false,
json: true,
},
});
8 changes: 8 additions & 0 deletions cypress/integration/page.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
'use strict';

// TODO: edit it
describe('Page', () => {
it('should be visitable', () => {
cy.visit('/');
});
});
Loading