Skip to content

mdsreq-fga-unb/2024.2-T01-IdeaSpace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ideia Space 🚀

A Ideia Space é uma startup brasileira de educação que tem como objetivo melhorar a qualidade do ensino, especialmente nas áreas de STEAM (Ciência, Tecnologia, Engenharia, Artes e Matemática). Sua proposta é utilizar o fascínio pelo espaço como tema central para envolver e capacitar os alunos em projetos que estimulam a criatividade e a resolução de problemas.

Portanto, para este projeto, a Ideia Space é o cliente que necessita de uma solução de software capaz de criar uma experiência de aprendizado gamificada, associado à obtenção de métricas de desempenho dos alunos, para que possa avaliar a eficácia de seus métodos de ensino, associado ao engajamento dos alunos.

Sumário

Sobre o Projeto

Objetivo

O objetivo da plataforma é acompanhar o aprendizado do aluno para além das atividades presenciais, proporcionando um ambiente digital que permita o estudo contínuo do aluno e garanta a padronização de avaliações da Ideia Space.

Tecnologias Utilizadas

  • Docker: Ferramenta de conteinerização que permite isolar os serviços da aplicação, garantindo portabilidade e consistência entre os ambientes de desenvolvimento e produção.
  • PostgreSQL: Sistema avançado de gerenciamento de banco de dados relacional, conhecido por sua robustez e extensibilidade.
  • FastAPI: Framework backend em Python projetado para desenvolver APIs modernas, seguras e escaláveis. Facilita o gerenciamento de dados dos alunos, autenticação e outras funcionalidades da plataforma.
  • SQLAlchemy: Biblioteca de mapeamento objeto-relacional (ORM) que assegura uma conexão eficiente e segura com o banco de dados, simplificando operações com dados.
  • Next.js: Framework frontend baseado em React que oferece renderização híbrida (estática e server-side), proporcionando alta performance e ótima experiência de desenvolvimento.

Como Executar o Projeto

Pré-requisitos

Antes de começar, certifique-se de que os seguintes pré-requisitos estão atendidos:

  • Docker: Ferramenta de conteinerização que permite isolar os serviços da aplicação.
  • Docker Compose: Ferramenta para definir e gerenciar aplicações multi-contêiner.
  • Make: Utilitário para automatizar tarefas de construção e gerenciamento de projetos.

Passos para Execução

  1. Clone o repositório do projeto:

    git clone https://github.com/mdsreq-fga-unb/2024.2-T01-IdeaSpace
    cd 2024.2-T01-IdeaSpace
  2. Configure as variáveis de ambiente do projeto:

Para o backend, copie o template presente em backend/.env.example para backend/.env.

    cp backend/.env.example backend/.env

Agora, configure as variáveis de ambiente no caminho mencionado com as credenciais do banco de dados (que será criado automaticamente depois), primeiro usuário administrador e a chave secreta de criptografia de senhas. Para uso no ambiente de desenvolvimento, pode ser suficiente apenas a cópia do template. Em produção, alterações devem ser feitas para garantir a segurança do sistema.

Para o frontend, copie o template presente em frontend/.env.example.

    cp frontend/.env.example frontend/.env
  1. Suba os serviços utilizando o Docker Compose
  # Comando Make
  make start

  # Comando equivalente
  docker compose -f docker/compose.yml up

Acesso a aplicação

  • O sistema de backend estará disponível na porta 8000 do localhost.
  • O sistema backend estará disponível na porta 3000 do localhost

Troubleshooting

Para evitar erros no build da aplicação, verifique se as portas do frontend, backend e banco de dados (por padrão 5432) estão disponíveis.

Equipe

Caio Felipe

Edilson Ribeiro

Líder

Felipe Matheus

Igor Silva

Matheus Brant

Sebastián Héctor