{"id":18068366,"url":"https://github.com/devpablooliveira/matrixplore","last_synced_at":"2025-04-05T16:12:50.628Z","repository":{"id":260176636,"uuid":"880523720","full_name":"DevPabloOliveira/MatriXplore","owner":"DevPabloOliveira","description":"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.","archived":false,"fork":false,"pushed_at":"2024-10-29T23:15:07.000Z","size":498,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-05T16:12:34.057Z","etag":null,"topics":["academictools","algorithms","backenddevelopment","csv","dataprocessing","fastapi","jinja2","jinja2-templates","manipulation","mathematics","matrixoperations","python","templates","webapplication"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DevPabloOliveira.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-29T22:00:30.000Z","updated_at":"2024-10-29T23:15:10.000Z","dependencies_parsed_at":"2024-10-30T01:05:22.971Z","dependency_job_id":null,"html_url":"https://github.com/DevPabloOliveira/MatriXplore","commit_stats":null,"previous_names":["devpablooliveira/matrixplore"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevPabloOliveira%2FMatriXplore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevPabloOliveira%2FMatriXplore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevPabloOliveira%2FMatriXplore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevPabloOliveira%2FMatriXplore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DevPabloOliveira","download_url":"https://codeload.github.com/DevPabloOliveira/MatriXplore/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247361700,"owners_count":20926643,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["academictools","algorithms","backenddevelopment","csv","dataprocessing","fastapi","jinja2","jinja2-templates","manipulation","mathematics","matrixoperations","python","templates","webapplication"],"created_at":"2024-10-31T08:06:12.591Z","updated_at":"2025-04-05T16:12:50.588Z","avatar_url":"https://github.com/DevPabloOliveira.png","language":"HTML","readme":"# MatriXplore\n\n\u003cimg src=\"app/static/img/LOGO.png\" alt=\"MatriXplore Logo\" width=\"200\"\u003e\n\nMatriXplore é 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.\n\n## Funcionalidades\n\n- **Carregar Arquivos CSV**: Faça o upload de arquivos CSV contendo matrizes e relações para análise.\n- **Inserção Manual**: Insira matrizes, conjuntos e relações manualmente para análise instantânea.\n- **Propriedades Matemáticas**: Analisa propriedades matemáticas das matrizes, como funcionalidade, injetividade, totalidade, sobrejetividade, entre outras.\n- **Download de Arquivos**: Baixe arquivos CSV de matrizes pré-configuradas para testes.\n\n## Instalação\n\n1. Clone este repositório:\n   ```bash\n   git clone https://github.com/seu-usuario/MatriXplore.git\n   cd MatriXplore\n   ```\n2. Clone este repositório:\n    ```bash\n    python3 -m venv myenv\n    source myenv/bin/activate\n    ```\n3. Instale as dependências:\n    ```bash\n    pip install -r requirements.txt\n    ```\n## Uso\n\n1. Inicie o servidor FastAPI:\n\n    ```bash \n    uvicorn app.main:app --reload --port 8001\n    ```\n2. Abra o navegador e acesse:\n\n    ```bash \n    http://127.0.0.1:8001\n    ```\n3. Navegue pelas seguintes páginas para utilizar as funcionalidades da aplicação:\n\n    **Home**: Página inicial com informações sobre a aplicação.\n    **Upload de Matrizes**: Faça o upload de arquivos CSV para análise.\n    **Inserção Manual**: Insira dados manualmente para análise imediata.\n    **Bases de Matrizes**: Acesse matrizes disponíveis para download.\n\n## Estrutura do Projeto\n-    **app/main.py**: Contém a lógica principal do servidor FastAPI.\n-    **app/utils.py**: Implementa as funções de processamento e análise de matrizes.\n-    **app/templates/**: Armazena os arquivos HTML para renderização das páginas.\n-    **app/static/**: Contém arquivos estáticos, como CSS e imagens.\n-    **requirements.txt**: Lista das dependências do projeto.\n\n## Exemplo de Formato de Arquivo CSV\n\n- Para processar matrizes corretamente, os arquivos CSV devem estar estruturados da seguinte maneira:\n    \n    ```bash\n    # MATRIZES\n    Matriz, R\n    1, 0, 0, 0\n    0, 1, 0, 0\n    0, 0, 1, 0\n    0, 0, 0, 1\n\n    Matriz, S\n    0, 1, 0\n    1, 0, 1\n    0, 1, 0\n\n    # CONJUNTOS\n    Conjunto, A, 1, 2, 3, 4\n    Conjunto, B, a, b, c, d, e\n\n    # RELAÇÕES\n    Relação, R, (1, a), (2, c), (3, d)\n    Relação, S, (a, x), (c, y), (d, z)\n\n    ```\n## Tecnologias Utilizadas\n\n-    **FastAPI**: Framework para construir APIs rápidas e eficientes.\n-    **Jinja2**: Engine de templates para renderizar HTML.\n-    **Uvicorn**: Servidor ASGI para executar a aplicação FastAPI.\n-    **Numpy**: Biblioteca para computação científica em Python.\n\n## Estrutura de Diretórios\n- **Diretórios**\n    ```bash\n    MatriXplore/\n    │\n    ├── app/\n    │   ├── main.py                # Lógica principal do FastAPI\n    │   ├── utils.py               # Funções de processamento de matrizes\n    │   ├── templates/             # Páginas HTML\n    │   └── static/                # Arquivos estáticos\n    │\n    ├── base-test/                 # Diretório com arquivos CSV para download\n    ├── requirements.txt           # Lista de dependências do projeto\n    └── README.md                  # Documentação do projeto\n\n    ```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevpablooliveira%2Fmatrixplore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevpablooliveira%2Fmatrixplore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevpablooliveira%2Fmatrixplore/lists"}