Skip to content

DevPabloOliveira/MatriXplore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MatriXplore

MatriXplore Logo

MatriXplore é uma aplicação web desenvolvida em Python com FastAPI para o processamento e análise de matrizes, conjuntos e relações. Esta aplicação permite aos usuários carregar arquivos CSV contendo dados de matrizes ou inserir esses dados manualmente. Com base nos dados fornecidos, a aplicação analisa propriedades matemáticas das matrizes, como funcionalidade, injetividade, totalidade, entre outras.

Funcionalidades

  • Carregar Arquivos CSV: Faça o upload de arquivos CSV contendo matrizes e relações para análise.
  • Inserção Manual: Insira matrizes, conjuntos e relações manualmente para análise instantânea.
  • Propriedades Matemáticas: Analisa propriedades matemáticas das matrizes, como funcionalidade, injetividade, totalidade, sobrejetividade, entre outras.
  • Download de Arquivos: Baixe arquivos CSV de matrizes pré-configuradas para testes.

Instalação

  1. Clone este repositório:
    git clone https://github.com/seu-usuario/MatriXplore.git
    cd MatriXplore
  2. Clone este repositório:
    python3 -m venv myenv
    source myenv/bin/activate
  3. Instale as dependências:
    pip install -r requirements.txt

Uso

  1. Inicie o servidor FastAPI:

    uvicorn app.main:app --reload --port 8001
  2. Abra o navegador e acesse:

    http://127.0.0.1:8001
  3. Navegue pelas seguintes páginas para utilizar as funcionalidades da aplicação:

    Home: Página inicial com informações sobre a aplicação. Upload de Matrizes: Faça o upload de arquivos CSV para análise. Inserção Manual: Insira dados manualmente para análise imediata. Bases de Matrizes: Acesse matrizes disponíveis para download.

Estrutura do Projeto

  • app/main.py: Contém a lógica principal do servidor FastAPI.
  • app/utils.py: Implementa as funções de processamento e análise de matrizes.
  • app/templates/: Armazena os arquivos HTML para renderização das páginas.
  • app/static/: Contém arquivos estáticos, como CSS e imagens.
  • requirements.txt: Lista das dependências do projeto.

Exemplo de Formato de Arquivo CSV

  • Para processar matrizes corretamente, os arquivos CSV devem estar estruturados da seguinte maneira:

    # MATRIZES
    Matriz, R
    1, 0, 0, 0
    0, 1, 0, 0
    0, 0, 1, 0
    0, 0, 0, 1
    
    Matriz, S
    0, 1, 0
    1, 0, 1
    0, 1, 0
    
    # CONJUNTOS
    Conjunto, A, 1, 2, 3, 4
    Conjunto, B, a, b, c, d, e
    
    # RELAÇÕES
    Relação, R, (1, a), (2, c), (3, d)
    Relação, S, (a, x), (c, y), (d, z)
    

Tecnologias Utilizadas

  • FastAPI: Framework para construir APIs rápidas e eficientes.
  • Jinja2: Engine de templates para renderizar HTML.
  • Uvicorn: Servidor ASGI para executar a aplicação FastAPI.
  • Numpy: Biblioteca para computação científica em Python.

Estrutura de Diretórios

  • Diretórios
    MatriXplore/
    │
    ├── app/
    │   ├── main.py                # Lógica principal do FastAPI
    │   ├── utils.py               # Funções de processamento de matrizes
    │   ├── templates/             # Páginas HTML
    │   └── static/                # Arquivos estáticos
    │
    ├── base-test/                 # Diretório com arquivos CSV para download
    ├── requirements.txt           # Lista de dependências do projeto
    └── README.md                  # Documentação do projeto
    

About

Web app for processing, uploading, and downloading matrices using FastAPI. Users can upload CSV files, manually input data, and download pre-set matrices. Includes analysis of matrix properties like functionality, injectivity, and surjectivity, with support for matrix combinations and transpose calculations. Built with FastAPI and Jinja2.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors