Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bernardosemioficial/gerenciador-de-projetos-fullstack
Projeto fullstack para gerenciamento de projetos
https://github.com/bernardosemioficial/gerenciador-de-projetos-fullstack
angular bcript dayjs dotenv fastify jwt jwt-authentication nodejs nodemailer primeflex primeng prisma-orm sqlite typescript zod
Last synced: about 16 hours ago
JSON representation
Projeto fullstack para gerenciamento de projetos
- Host: GitHub
- URL: https://github.com/bernardosemioficial/gerenciador-de-projetos-fullstack
- Owner: BernardoSemiOficial
- License: mit
- Created: 2024-09-07T13:44:20.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-09-28T19:18:35.000Z (4 months ago)
- Last Synced: 2025-01-20T21:27:54.429Z (about 16 hours ago)
- Topics: angular, bcript, dayjs, dotenv, fastify, jwt, jwt-authentication, nodejs, nodemailer, primeflex, primeng, prisma-orm, sqlite, typescript, zod
- Language: TypeScript
- Homepage:
- Size: 664 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Gerenciador de Projetos - Fullstack
Este é um projeto onde usuários podem ter um gerenciador de projetos, que permite aos usuários criar, editar e gerenciar projetos e tarefas.
## Front-end
Documentação do front-end: [readme](/frontend/README.md)
#### tecnologias
- Angular v18
- Typescript
- RxJS
- PrimeNG
- PrimeFlex
- PrimeIcons## Back-end
Documentação do back-end: [readme](/backend/README.md)
#### tecnologias
- Fastify
- Prisma ORM
- Typescript
- Fastify Type Provider Zod
- JWT (Json Web Token)
- Nodemailer
- Zod
- Bcript
- Dayjs
- Dotenv
- TsxTem uma colletion com todos os endpoints da aplicação disponíveis. [Postman Collection](backend/gerenciador-de-projetos.postman_collection.json)
## Diagrama de entidade relacionamento
Tabelas: Users, Projects, UsersOnProjects, Tasks, UserInvitation, TaskStatus, TaskPriority, Role.
- O Users salva os usuários cadastrados no sistema que finalizaram o cadastro.
- O UsersOnProjects associa um usuário a um projeto e tem informações únicas para esse relacionamento.
- O Projects salva os projetos e tem associado zero ou mais tarefas.
- A Tasks salva as tarefas e está associado a somente um projeto
- A UserInvitation salva os usuários que foram convidados por outros usuários e que precisam finalizar o cadastro
- A TaskStatus são associadas as tarefas para definir o status.
- A TaskPriority são associadas as tarefas para definir a prioridade.
- A Role são associadas aos usuários e usersOnProjects (definir o acesso a um projeto).diagrama da modelagem: [diagrama](./backend/diagrama.jpeg)
## Requisitos Funcionais
### Autenticação de Usuário
- O sistema deve permitir que os usuários se cadastrem, façam login e logout.
- O usuário deve poder redefinir a senha através de e-mail.### Criação de Projetos
- O usuário deve ser capaz de criar, editar e excluir projetos.
- Cada projeto deve ter um nome, descrição e data de início e término.### Gestão de Tarefas
- O usuário deve ser capaz de criar, editar, excluir e visualizar tarefas dentro de cada projeto.
- As tarefas devem ter título, descrição, prazo, status (por fazer, em andamento, concluída) e prioridade (baixa, média, alta).### Atribuição de Tarefas
- As tarefas devem poder ser atribuídas a diferentes usuários dentro do projeto.
- Notificações (e-mail ou dentro do sistema) devem ser enviadas quando uma tarefa for atribuída ou modificada.### Comentários em Tarefas
- Os usuários devem poder comentar em cada tarefa para discutir detalhes ou atualizações.
### Rastreamento de Progresso
- O sistema deve mostrar o progresso do projeto com base nas tarefas concluídas (ex: gráfico de progresso ou barra de status).
### Filtros e Pesquisa
- O usuário deve poder filtrar as tarefas por status, prioridade ou prazo.
- Deve existir uma função de pesquisa para encontrar tarefas ou projetos rapidamente.### Dashboard Resumido
- O sistema deve fornecer uma visão geral dos projetos e tarefas no dashboard, com visualização de prazos críticos e tarefas atrasadas.
### Relatórios de Progresso
- Deve ser possível gerar relatórios de progresso de um projeto (quantas tarefas foram concluídas, quantas estão atrasadas, etc.).