AjudaNaTask é uma plataforma web para a gestão de times e tarefas, focada na atribuição e monitoramento de atividades. A aplicação é desenvolvida com um front-end reativo utilizando Next.js, integração com Firebase para armazenamento e autenticação, e um back-end em Node.js para gerenciar interações com o banco de dados.
-
Cadastro de Membros do Time: Permite registrar membros do time com informações como nome, e-mail e função.
-
Gestão de Tarefas: Os usuários podem criar tarefas, definindo descrição, prazos, prioridades e tempo estimado para conclusão.
-
Atribuição de Tarefas: Associa tarefas aos membros do time, permitindo múltiplas tarefas por membro.
-
Cálculo de Alocação de Tempo: Calcula automaticamente o total de horas alocadas para cada membro, considerando todas as tarefas atribuídas.
-
Notificações de Prazo: Implementa um sistema de notificações com Firebase para alertar sobre tarefas próximas do prazo final.
O front-end é desenvolvido em Next.js, proporcionando uma interface intuitiva e interativa para visualizar e gerenciar membros e tarefas do time. Inclui visualizações que mostram a carga de trabalho de cada membro e o status das tarefas.
O back-end consiste em uma API Node.js que gerencia as operações CRUD (Criar, Ler, Atualizar, Deletar) para membros do time e tarefas. Esta API interage com o Firebase Firestore para armazenamento de dados.
Utiliza o Firestore para armazenamento de dados de usuários, membros do time e tarefas. Implementa a autenticação de usuários com Firebase Authentication e utiliza Firebase Functions para enviar notificações de tarefas próximas do prazo.
- Clone o repositório do front-end:
git clone https://github.com/laraberns/tech-challenge-5-front.git
- Na pasta
tech-challenge-5-front
, instale as dependências:
npm install
- Adicione um arquivo
next.config.js
com suas chaves do Firebase:
module.exports = {
env: {
FIREBASE_API_KEY: "sua-api-key",
FIREBASE_AUTH_DOMAIN: "seu-auth-domain.firebaseapp.com",
FIREBASE_PROJECT_ID: "seu-project-id",
FIREBASE_STORAGE_BUCKET: "seu-storage-bucket.appspot.com",
FIREBASE_MESSAGING_SENDER_ID: "seu-messaging-sender-id",
FIREBASE_APP_ID: "seu-app-id",
FIREBASE_FCM_VAPID_KEY: "sua-fcm-vapid-key",
BD_API: "seuBancoDeDadosAPI"
},
};
- Na pasta
tech-challenge-5-front
, rode o projeto front-end:
npm run dev
- Acesse a tela de login:
"http://localhost:3000/login"
- Clone o repositório do backend dentro do seu diretório:
git clone https://github.com/laraberns/tech-challenge-5-back.git
- No Firebase Console, siga as etapas abaixo para configurar o serviço e as notificações:
- Acesse as Configurações do Projeto no Firebase Console.
- Vá para Contas de Serviço e gere uma nova chave privada. Isso criará um arquivo JSON que você deve nomear como creds.json.
- Coloque o arquivo creds.json na pasta raiz do projeto backend (tech-challenge-5-back) E também dentro da pasta functions.
- Rode o servidor Node.js::
node server.js
Para configurar o envio de notificações:
- Instale as dependências necessárias::
npm install firebase-functions@latest firebase-admin@latest --save
npm install -g firebase-tools
- Faça login no Firebase:
firebase login
- Inicialize o Firebase Functions dentro da pasta functions:
firebase init functions
- Deploy das funções para o Firebase:
firebase deploy --only functions
Este README fornece uma visão geral do projeto AjudaNaTask, detalhando suas funcionalidades, tecnologias utilizadas e instruções para executar localmente.