🚀 Missão: Aprimorar a gestão da assistência estudantil da UFBA, promovendo inclusão e equidade.
✨ Visão: Ser referência em gestão de ações afirmativas e assistência estudantil, com um sistema moderno, eficiente e transparente.
- Objetivos e Contexto
- Tecnologias
- Estrutura do Projeto
- Fluxo de Trabalho
- Testes
- Ambiente de Desenvolvimento
- Segurança
- Documentação
- Colaboradores
- Licença
- Contato
Desenvolvido para a disciplina Tópicos em Sistemas de Informação e Web I (IC045/MATE85) na UFBA, o PROAE visa construir um sistema de gestão completo para a Pró-Reitoria de Ações Afirmativas e Assistência Estudantil. O projeto é mantido pela organização TSIW-PROAE no GitHub e busca centralizar informações, automatizar processos, melhorar a comunicação com estudantes e aprimorar a transparência na gestão da assistência estudantil.
Frontend:
- React.js: Biblioteca JavaScript para construção de interfaces de usuário.
- TypeScript: Superset de JavaScript que adiciona tipagem estática.
- Vite: Ferramenta de build para desenvolvimento web rápido.
Backend:
- Node.js: Ambiente de execução JavaScript para backend.
- NestJS: Framework para construir aplicações Node.js escaláveis e eficientes.
- PostgreSQL: Sistema de gerenciamento de banco de dados relacional.
- Docker: Plataforma para conteinerização de aplicações.
- Docker-Compose: Ferramenta para orquestrar múltiplos containers Docker.
- Type-ORM: Ferramenta que permite a interação com bancos de dados relacionais usando a abordagem orientada a objetos.
- TypeScript: Superset de JavaScript que adiciona tipagem estática.
O projeto é dividido em três repositórios com algumas documentações em destaque, como:
-
[Documentação]: content_copy download Use code with caution. Markdown project_management/ technical_documentation/ requirements/ design/ guidelines/ references/ miscellaneous/
-
[Frontend]:) content_copy download Use code with caution. proae-frontend/ ├── public/ ├── src/ │ ├── assets/ │ ├── components/ │ ├── context/ │ ├── features/ │ ├── hooks/ │ ├── pages/ │ ├── services/ │ ├── styles/ │ ├── utils/ │ ├── App.tsx │ ├── main.tsx │ └── setupTests.ts ├── .env ├── package.json └── README.md
-
Backend:
A estrutura do backend será definida de acordo com as melhores práticas do NestJS e poderá incluir pastas como
src
,dist
,node_modules
, entre outras. Detalhes da estrutura serão documentados no repositório do backend. - Documento de requisitos: Esse documento contém todos os requisitos do projeto definidos pela equipe junto ao cliente através de conversas e reuniões formais.
- Prototipação: Esse documento contém a prototipação do projeto levando em consideração todos os requisitos funcionais decididos previamente.
- Atas de reunião gerais: Essa pasta contém todas as atas de reuniões realizadas. Nessas atas buscamos expor todas as tomadas de decisões da equipe, assim como todos os detalhes das nossas reuniões de time.
- Gitflow: Utilização do workflow Gitflow para organização das branches (develop, feature, release, hotfix).
- Pull Requests: Abertura de Pull Requests para revisão de código antes da integração com a branch principal.
- Commit Messages: Padronização das mensagens de commit para clareza e organização do histórico do projeto (ex:
feat: adiciona nova funcionalidade
,fix: corrige bug
). - Coding Standards: ESLint e Prettier serão utilizados para garantir a qualidade e consistência do código. As configurações serão definidas em arquivos de configuração específicos em cada repositório.
- Frontend: Testes unitários e de integração utilizando Jest e React Testing Library.
- Backend: Testes unitários e de integração utilizando Jest. A cobertura de testes será monitorada para garantir a qualidade do código.
- Docker e Docker Compose serão utilizados para garantir um ambiente de desenvolvimento consistente e facilitar a configuração.
- Um arquivo
docker-compose.yml
será criado para definir os serviços e suas dependências.
- JWT (JSON Web Tokens): Utilização de JWT para autenticação e autorização de usuários.
- Controle de Acesso Baseado em Roles: Níveis de acesso diferenciados para diferentes tipos de usuários (administradores, assistentes sociais, alunos).
- Medidas de segurança: Implementação de medidas para prevenir ataques comuns como SQL Injection, Cross-Site Scripting (XSS) e Cross-Site Request Forgery (CSRF). Serão utilizadas bibliotecas e técnicas de segurança para proteger o sistema contra essas vulnerabilidades.
- Documentação da API (Backend): Swagger será utilizado para documentar a API REST.
- Documentação do Código: JSDoc será utilizado para documentar o código-fonte.
- Arquitetura do Sistema: Diagramas e descrições detalhadas da arquitetura do sistema serão incluídos na documentação. Diagramas serão criados utilizando ferramentas como Mermaid ou Draw.io.
- Organização da Documentação: A documentação será mantida organizada e atualizada no repositório
proae_documents
.
Frontend:
Hevelin Freitas |
Mauricio Menezes |
Caio Alcarria |
Allan Oliveira |
Luiz Antonio |
Backend:
Thales Macêdo |
Mauricio Menezes |
Hugo Chaves |
Jessica Ellen |
Lucas Lima |
Marcos Vinicius |
Matheus Salaroli |
O projeto PROAE é licenciado sob a Creative Commons Attribution 4.0.
- Email: [email protected]
- GitHub: TSIW-PROAE