Skip to content

openlabun/Matrino

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Matrino - Teoría de Códigos y Matemática Discreta

Contributors Forks Stargazers Issues

📎 Descripción

Matrino es una aplicación web para trabajar algoritmos de Teoría de Códigos (códigos lineales, matrices generadoras, matrices de control y códigos duales), construida por estudiantes de la Universidad del Norte.

El proyecto tiene dos partes:

  • Frontend en Astro + React
  • Backend en FastAPI, ejecutado sobre SageMath para los cálculos matemáticos

🗂️ Índice

🚀 Tech Stack

Frontend

  • Astro
  • React
  • TypeScript
  • Tailwind CSS
  • pnpm

Backend

  • FastAPI
  • Uvicorn
  • SageMath

Infraestructura

  • Docker
  • Docker Compose
  • Caddy

🏗️ Arquitectura del Proyecto

Matrino/
├── docker-compose.yaml
├── .env.example
├── backend/
│   ├── Dockerfile
│   ├── requirements.txt
│   └── src/
│       ├── main.py
│       ├── api/v1/
│       │   ├── router.py
│       │   └── routes/code/endpoints.py
│       └── schemas/v1/
└── frontend/
    ├── Dockerfile
    ├── Caddyfile
    ├── astro.config.mjs
    ├── package.json
    └── src/
        ├── components/
        └── pages/

⚙️ Variables de Entorno

Crea un archivo .env en la raíz (puedes copiar desde .env.example):

cp .env.example .env

Variables necesarias:

API_PORT=3000
FRONTEND_PORT=1234
API_URL=http://matrino-api:3000

Notas:

  • API_URL debe apuntar al servicio backend accesible desde el contenedor frontend.
  • En Docker Compose, el valor recomendado es http://matrino-api:3000.

🧑‍💻 Ejecución Local

Opción recomendada: Docker Compose (raíz del proyecto)

docker compose up --build -d

Servicios:

  • Frontend: http://localhost:${FRONTEND_PORT}
  • API: http://localhost:${API_PORT}
  • Healthcheck API: http://localhost:${API_PORT}/health

Detener servicios:

docker compose down

Desarrollo del frontend (sin Docker)

cd frontend
pnpm install
pnpm dev

📡 Endpoints

Base URL API: http://localhost:${API_PORT}

Versión: /v1

Health

  • GET /health

Teoría de códigos

  • POST /v1/code-theory/code-to-generator
  • POST /v1/code-theory/lineal-code
  • POST /v1/code-theory/generator-to-control
  • POST /v1/code-theory/dual

Ejemplo de respuesta exitosa:

{
  "success": true,
  "message": "Control matrix obtained",
  "matrix": [[0,0,1,0],[0,0,0,1]]
}

Ejemplo de respuesta de error:

{
  "success": false,
  "message": "Error message"
}

🤝 Contribuir

  1. Crea una rama desde main
  2. Realiza tus cambios
  3. Verifica que el proyecto levante con docker compose up --build
  4. Abre un Pull Request

Hecho con ❤️ por estudiantes de Ingeniería de Sistemas - Universidad del Norte.

About

Welcome to Matrino's API!

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors