/landing-metrics

Landing Page with Vue 3 using currency API and download with Excel

Primary LanguageVue

Landing Metrics

Built following the Hexagonal Architecture pattern with Vue.js and TypeScript to ensure separation of responsibilities, ease testing and keep business logic decoupled from external details.

๐Ÿ‘€ Demo

๐Ÿ“˜ Architecture and patterns

This project follows the Hexagonal Architecture pattern, which allows a clear separation between business logic and external technical details. This facilitates adaptability, testing and code maintenance.

Folder distribution

``bash
src/
|-- adapters/
|   |-- DataAPIAdapter.ts
|   |-- LocalStorageAdapter.ts
|
|-- domain/
|   |-- usecases/
|       |-- calculateVariation.ts
|       |-- FetchAndProcessDollarData.ts
|
|-- ports/
|   |-- IDataAPIPort.ts
|
|-- ui/
|   |-- assets/
|   |   |-- images/
|   |       |-- ...
|   |
|-- views/
|-- Landingpage.vue
|-- Description.vue
|-- Services.vue
|-- References.vue
|-- Triangles.vue
|-- DollarChart.vue
|
|-- tests/
|   |-- e2e/
|   |   |-- ...
|   |-- unit/
|   |   |-- ...
|
``

๐Ÿš€ Quick start

  1. Proyect Documentation

    Make sure you have yarn installed. If you don't have it, you can download it from here. Then, install the project dependencies:

    bash yarn install

  2. Local development

    To start a development server with hot reloading:

    bash yarn serve This will compile and serve your project, showing changes in real time.

  3. Production

    When you are ready to create a production version:

    bash yarn build This will optimize and minimize the compiled files in the dist folder.

๐Ÿงช Test

Este proyecto cuenta con pruebas unitarias y end-to-end para asegurar la calidad y funcionalidad del cรณdigo.

  • Unit test

    We use Jest for unit testing. Run the tests with:

    bash yarn test:unit

  • Test E2E

    E2E tests are performed using Cypress. You can run them with:

    bash yarn test:e2e

๐Ÿ› ๏ธ Tools and configuration

  • Linter

    Make sure your code follows best practices and automatically fixes detected problems:

    bash yarn lint

๐Ÿ“– Additional Resources