Skip to content

Jobify é uma aplicação web moderna desenvolvida com React, TypeScript, Tailwind, ShadCN, Vite, Node.js, Express, Sequelize e MySQL, que facilita a busca por vagas de emprego através da API pública da Remotive. Com um design responsivo, animações suaves, arquitetura escalável (MVC) e foco em acessibilidade.

Notifications You must be signed in to change notification settings

sophi-hub/mbras-jobify-challenge

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Jobify – Plataforma de Busca e Favoritos de Vagas


Como Rodar o Projeto Localmente

  • MySQL (recomenda-se o uso do MySQL Workbench) instalado
  • Abra seu MySQL Workbench e execute (recomendo o vídeo do CFB cursos para aprender a fazer a instalação):
CREATE DATABASE jobify;
  • Clone o repositório:
git clone https://github.com/sophi-hub/mbras-jobify-challenge.git
  • Configure as variáveis de ambiente:

    • Acesse o arquivo .env.example no diretório da pasta backend.
    • Preencha com seus dados (host, usuário, senha etc.) e renomeie para .env.
  • Instale as dependências e rode o backend:

cd backend
npm i
node dist/server.js
  • Instale as dependências e rode o frontend:
cd frontend
npm i
npm run dev
  • A resposta da API pode apresentar latência em máquinas com menor desempenho. Caso a listagem de vagas demore a ser exibida, recomenda-se recarregar a página para forçar uma nova requisição.

Funcionalidades da Plataforma

  • Exibição de vagas via API do Remotive.
  • Filtragem por categoria de vagas.
  • Campo de busca para encontrar vagas por palavras-chave.
  • Contador de vagas favoritadas visível na interface.
  • Botão "Ver mais vagas": carrega +18 vagas por clique para evitar sobrecarga.
  • API de favoritos: salva as vagas favoritas no banco de dados.
  • Persistência de favoritos na página "Favorite", mesmo após atualizar.
  • Modal de detalhes da vaga com botão para se candidatar.
  • Arquitetura MVC organizada e modular.
  • Responsividade para todos os dispositivos.
  • Animações com Frame Motion e componentes animados com React Bits.
  • Acessibilidade com alt, aria-label e onekeys para navegação assistiva.

Desafios Técnicos Superados

  • Primeiro contato com TypeScript, estudado com curso da Alura e documentação.
  • TailwindCSS e ShadCN: aprendidos via documentação oficial.
  • Produção completa em 3 dias:
    • Dia 1: Aprendizado de TypeScript, Tailwind e ShadCN + integração com Remotive + API de favoritos com persistência em banco.
    • Dia 2: Criação da página de favoritos + implementação de Frame Motion.
    • Dia 3: Finalização do design, ajustes visuais e responsividade.
  • Integração completa de Frontend com Backend usando TypeScript -> Node + Express, Axios, Sequelize e MySQL.

Tecnologias e Metodologias Utilizadas

Tecnologia/Metodologia Descrição Badge
React Biblioteca para UI React
TypeScript Tipagem segura no projeto TypeScript
TailwindCSS Estilização rápida e utilitária Tailwind
ShadCN Componentes acessíveis e modernos ShadCN
Frame Motion Animações visuais suaves Framer Motion
React Bits Componentes animados reutilizáveis
Vite Ferramenta de build ultra-rápida Vite
Node.js Backend para manipulação de dados Node
Express.js Framework leve para APIs REST Express
Sequelize ORM para integração com SQL Sequelize
MySQL Banco de dados relacional MySQL
Axios Comunicação com APIs
Arquitetura MVC Organização modular de código
Acessibilidade Interface inclusiva e navegação por teclado

About

Jobify é uma aplicação web moderna desenvolvida com React, TypeScript, Tailwind, ShadCN, Vite, Node.js, Express, Sequelize e MySQL, que facilita a busca por vagas de emprego através da API pública da Remotive. Com um design responsivo, animações suaves, arquitetura escalável (MVC) e foco em acessibilidade.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 94.8%
  • JavaScript 2.7%
  • HTML 1.5%
  • CSS 1.0%