Skip to content

TheRodrig0/teste-full-stack

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 

Repository files navigation

Teste full stack

TypeScript Node.js Fastify Prisma Zod JWT Vitest tsx Vue.js Vite

🎯 Sobre o Projeto

Este projeto foi criado para cumprir o desafio técnico da vaga de Desenvolvedor(a) Full Stack. O objetivo é uma aplicação web completa para gerenciamento de tarefas (to-do list), demonstrando habilidades em desenvolvimento backend, frontend, arquitetura de software e boas práticas de versionamento com Git.

A aplicação permite que os usuários se autentiquem com sua conta Google e gerenciem suas próprias tarefas de forma segura e intuitiva.


✨ Funcionalidades

  • Autenticação de Usuários: Login seguro utilizando o protocolo OAuth 2.0 com o Google.
  • Gestão Completa de Tarefas (CRUD):
    • Criação de novas tarefas.
    • Edição de tarefas existentes.
    • Exclusão de tarefas.
  • Controle de Status: Marcar e desmarcar tarefas como concluídas.
  • Listagem e Filtragem: Visualização clara de tarefas pendentes e concluídas.
  • Interface Responsiva: Layout adaptável para uma ótima experiência em desktops e dispositivos móveis.
  • Deploy Contínuo: O projeto está publicado online e configurado para deploy automático.

🚀 Como Executar o Projeto

Siga os passos abaixo para configurar e executar a aplicação no seu ambiente local.

Pré-requisitos


1. Backend

# Navegue para a pasta do backend
cd backend

# Instale as dependências
npm install

Crie um arquivo .env na raiz da pasta backend e preencha com suas credenciais, usando o .env.example como modelo:

DATABASE_URL="postgresql://USUARIO:SENHA@HOST:PORTA/NOME_DO_BANCO"
PORT=3000
FRONTEND_URL="http://localhost:5173"
GOOGLE_CLIENT_ID="SEU_CLIENT_ID_DO_GOOGLE"
GOOGLE_CLIENT_SECRET="SEU_CLIENT_SECRET_DO_GOOGLE"
GOOGLE_REDIRECT_URI="http://localhost:3000/auth/google/callback"
JWT_SECRET="CRIE_UM_SEGREDO_FORTE_AQUI"
# Execute as migrações para criar as tabelas no banco de dados
npx prisma migrate dev

# Inicie o servidor de desenvolvimento
npm run dev

2. Frontend

Abra um novo terminal e navegue para a pasta do frontend:

cd frontend

# Instale as dependências
npm install

Crie um arquivo .env.local na raiz da pasta frontend e adicione a seguinte variável:

VITE_API_BASE_URL="http://localhost:3000/"
# Inicie o servidor de desenvolvimento do frontend
npm run dev

A aplicação estará disponível em http://localhost:5173.


🧪 Testes

Para garantir a qualidade e a integridade do código, o projeto inclui testes automatizados.

Para rodar os testes do backend:

cd backend
npm test

🗺️ Endpoints da API

A API segue um padrão RESTful. Todas as rotas de /task/ são protegidas e requerem um token JWT.

Método Rota Descrição
GET /auth/google/url Obtém a URL de autorização do Google
GET /auth/google/callback Rota de callback para o Google
GET /task/ Lista todas as tarefas do usuário
POST /task/ Cria uma nova tarefa
GET /task/:id Obtém uma tarefa específica
PATCH /task/:id Atualiza uma tarefa
DELETE /task/:id Apaga uma tarefa

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 77.5%
  • Vue 19.0%
  • CSS 2.7%
  • HTML 0.8%