Template de uma página inicial
- Vue.js
- Vuetify (Material Design)
- SCSS
Functional and non-functional requirements are presented below.
- FR1: The website must be composed of the following sections (in order): header, about, services, testimonials, parallax image above footer, and footer
- FR2: Display a background image as header of 100vh
- FR3: Darken the background image
- FR4: Over the background image, display title, subtitle and a button
- FR5: Present an About section, with some text and an image
- FR6: The Services section must comprise cards, which are composed of title (top), image (right-hand side), and text (left-hand side)
- FR7: Present the testimonials as a carousel
- FR8: The footer must contain the standard links and a logo
- NFR1: Responsiveness
- NFR2: Use contrasting colors
Below it is described how some elements respond to the change of viewport size.
As Vuetify does not present (to the date of 20/04/2020) responsive font size, the following js trick was used to set the font size to title for the breakpoint md and below and to set it to subtitle-1 otherwise.
<p
:class="[$vuetify.breakpoint.mdAndUp ? 'title font-weight-light' : 'subtitle-1 font-weight-light']"
>
text
</p>
As the testimonial varied greatly in amount of text, the heights should change accordingly for mobile viewport:
<v-carousel
:height="[$vuetify.breakpoint.mdAndUp ? '500' : 'this.$props.height']"
cycle
interval="10000"
hide-delimiters
>
</v-carousel>
- / --> Home
- /politica-de-privacidade --> Privacy Policy
High level code of the orchestrator App.vue:
<v-app>
<v-app-bar>
<AppBarBtn/>
</v-app-bar>
<router-link to ="/"></router-link>
<router-view/>
<Footer/>
</v-app>