Skip to content

Latest commit

 

History

History
128 lines (83 loc) · 4.05 KB

README.md

File metadata and controls

128 lines (83 loc) · 4.05 KB

📚 ComPensar

Ambiente de Estudo ao Pensamento Computacional 1.1

ComPensar é uma plataforma voltada para auxiliar o ensino de Pensamento Computacional (PC) no contexto da educação básica, com foco na resolução de problemas matemáticos. O sistema oferece ferramentas que permitem a criação, avaliação e publicação de questões alinhadas com as competências do PC, promovendo o desenvolvimento do raciocínio lógico e da capacidade de abstração dos alunos.

O Pensamento Computacional é uma habilidade fundamental na educação moderna, pois facilita a aplicação de técnicas e conceitos computacionais para resolver problemas de diversas áreas, incluindo a matemática. Através do ComPensar, educadores podem avaliar o progresso dos alunos em competências essenciais como a decomposição de problemas, reconhecimento de padrões, abstração e criação de algoritmos.

⚙️ Tecnologias utilizadas

Tecnologia Versão
Node.js v22.2.0
Java v21
Spring Boot v3.3.3
MongoDB v7.0.2

🚀 Como levantar o projeto?

  • Clone o repositório:

    git clone https://github.com/ufcg-lsd/compensar-legacy.git

Frontend

  1. Instale as dependências:

    cd frontend
    npm install
  2. Execute a aplicação:

    npm start

Backend

  1. Instale as dependências:

    cd backend
    mvn clean install # Se os testes falharem e você queira rodar assim mesmo, adicione a flag -DskipTests
  2. Execute a aplicação:

    mvn spring-boot:run

🛠️ Arquitetura

Abaixo está o diagrama da arquitetura geral da aplicação:

Diagrama de Arquitetura

Diagrama de Caso de Uso

O diagrama de caso de uso ilustra as interações entre os usuários e o sistema:

Diagrama de Caso de Uso

📚 Documentação Adicional

Para mais detalhes sobre a aplicação, como a listagem completa dos requisitos funcionais e não funcionais, acesse a pasta /docs. Você pode explorar os seguintes conteúdos:

🏗️ Estrutura de pastas

├── frontend        # Diretório contendo o projeto AngularJS (Está pra ser reescrito em Next.JS em outro repositório)
├── backend         # Diretório contendo o projeto Spring

Variáveis que possivelmente precisarão de modificação

  • URI do mongodb: spring.data.mongodb.uri em backend/src/main/resources/application-<dev_or_prod>.properties

P: "Mas eu substituo pelo quê?"

R: Se por algum motivo não conseguir acesso ao BD, colocar o uri do (novo) banco de dados que queira apontar.

  • Google Sign-In Client ID:
    • backend: CLIENT_ID na classe GoogleIdVerifier
    • frontend: frontend > index.html em dois lugares
      • <meta name="google-signin-client_id" content="<aqui>" data-callback="onSignIn" />
      • <div id="g_id_onload" data-client_id="<aqui>" />

P: "Mas eu substituo pelo quê?"

R: Se por algum motivo a autenticação não funcionar, talvez as credenciais estejam vencidas ou inacessíveis por algum motivo. Nesse caso, criar novas usando o Google Cloud e substituir.