Skip to content

cesarhenrq/metavagas-frontend

Repository files navigation

Este repositório guarda o projeto final do curso Arnia, MetaVagas. MetaVagas é um sistema de vagas de emprego, onde o usuário pode se cadastrar e encontrar vagas de emprego que se encaixam no seu perfil. Para conferir clique no link a seguir: MetaVagas

💻 Tecnologias utilizadas

Typescript  React  Jest  Cypress  Eslint  Prettier  Husky  GitHub Actions Vercel 

unit-lint-typecheck-e2e-ct react version cypress version typescript version jest version eslint version prettier version husky version renovate-app badge

Badge em Desenvolvimento

🚀 Começando

Estas instruções permitirão que você obtenha uma cópia funcional do projeto em sua máquina local para fins de desenvolvimento e teste.

📋 Pré-requisitos

  • Node.js - Ambiente de execução JavaScript

🔧 instalação

  1. Clone o repositório:
git clone https://github.com/cesarhenrq/metavagas-frontend.git
  1. Instale as dependências:
yarn install

ou

npm install
  1. Execute o aplicativo:
yarn start

ou

npm start

🧪 Executando os testes:

🔬 Testes unitários:

Para executar os testes de unidade, execute o seguinte comando:

yarn test

ou

npm test

🔨 Testes de componente:

Para executar os testes de componente, execute o seguinte comando:

yarn cy:run-ct-fast

ou

npm run cy:run-ct-fast

⚙️➖⚙️ Testes end-to-end:

Para executar os testes de end-to-end, execute o seguinte comando:

yarn cy:run-e2e

ou

npm run cy:run-e2e

🔍 Linting:

Para executar o linting, execute o seguinte comando:

yarn lint

ou

npm run lint

✅ Typechecking:

Para executar o typechecking, execute o seguinte comando:

yarn typecheck

ou

npm run typecheck

📏 Formatação:

Para executar a formatação, execute o seguinte comando:

yarn format

ou

npm run format

🔃 CI

Este projeto utiliza o GitHub Actions para CI/CD. O arquivo de configuração pode ser encontrado em .github/workflows/main.yml. O pipeline de CI/CD é executado sempre que um push é feito para qualquer uma das branchs. O pipeline de CI/CD é composto por 5 jobs:

  • unit: Executa os testes de unidade.
  • lint: Executa o linting.
  • typecheck: Executa o typechecking.
  • e2e: Executa os testes de end-to-end.
  • ct: Executa os testes de componente.

🔌 Deployment:

Para implantar o aplicativo, execute o seguinte comando:

yarn build

ou

npm build

Este comando irá gerar uma pasta dist contendo o código compilado.

🏢 Arquitetura:

📁 Estrutura das pastas:

├── src
│   ├── assets
│   │   ├── image.svg
│   │   └── icon.tsx
│   ├── components
│   │   ├── Component
│   │   │   ├── Component.tsx
│   │   │   ├── Component.test.tsx
│   │   │   ├── Component.cy.tsx
│   │   │   ├── styles.ts
│   │   │   └── index.ts
│   ├── contexts
│   │   ├── Context
│   │   │   ├── actions.ts
│   │   │   ├── context.ts
│   │   │   ├── dispatcher.ts
│   │   │   ├── provider.tsx
│   │   │   ├── index.ts
│   ├── hooks
│   │   ├── hook.ts
│   │   └── index.ts
│   ├── pages
│   │   ├── Page
│   │   │   ├── Page.tsx
│   │   │   ├── Page.test.tsx
│   │   │   ├── Page.cy.tsx
│   │   │   ├── styles.ts
│   │   │   └── index.ts
│   ├── routes
│   │   ├── router.tsx
│   ├── services
│   │   ├── Service
│   │   │   ├── service.ts
│   ├── styles
│   │   ├── global.ts
│   ├── types
│   │   ├── type.d.ts
│   ├── utils
│   │   ├── functions
│   │   │   ├── function.ts
│   │   │   └── index.ts
│   │   ├── helpers
│   │   │   ├── helper.ts
│   │   │   └── index.ts
│   │   ├── index.ts
│   ├── App.tsx
│   ├── main.tsx
│   ├── vite-env.d.ts
│   └── tsconfig.json

📄 Descrição:

  • assets: Pasta que contém os arquivos estáticos do projeto.
  • components: Pasta que contém os componentes do projeto.
  • contexts: Pasta que contém os contextos do projeto.
  • hooks: Pasta que contém os hooks do projeto.
  • pages: Pasta que contém as páginas do projeto.
  • routes: Pasta que contém as rotas do projeto.
  • services: Pasta que contém os serviços do projeto.
  • styles: Pasta que contém os estilos globais do projeto.
  • types: Pasta que contém os tipos do projeto.
  • utils: Pasta que contém as utilidades do projeto.
  • App.tsx: Arquivo que contém o componente raiz do projeto.
  • main.tsx: Arquivo que contém o ponto de entrada do projeto.
  • vite-env.d.ts: Arquivo que contém as variáveis de ambiente do projeto.
  • tsconfig.json: Arquivo que contém as configurações do typescript.

✒️ Autores:


César Henrique

👨🏻‍💻

Katiene Souza

👩🏻‍💻
```

Releases

No releases published

Packages

No packages published

Languages