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
- 📎 Descripción
- 🚀 Tech Stack
- 🏗️ Arquitectura del Proyecto
- ⚙️ Variables de Entorno
- 🧑💻 Ejecución Local
- 📡 Endpoints
- 🤝 Contribuir
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/
Crea un archivo .env en la raíz (puedes copiar desde .env.example):
cp .env.example .envVariables necesarias:
API_PORT=3000
FRONTEND_PORT=1234
API_URL=http://matrino-api:3000Notas:
API_URLdebe apuntar al servicio backend accesible desde el contenedor frontend.- En Docker Compose, el valor recomendado es
http://matrino-api:3000.
docker compose up --build -dServicios:
- Frontend:
http://localhost:${FRONTEND_PORT} - API:
http://localhost:${API_PORT} - Healthcheck API:
http://localhost:${API_PORT}/health
Detener servicios:
docker compose downcd frontend
pnpm install
pnpm devBase URL API: http://localhost:${API_PORT}
Versión: /v1
GET /health
POST /v1/code-theory/code-to-generatorPOST /v1/code-theory/lineal-codePOST /v1/code-theory/generator-to-controlPOST /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"
}- Crea una rama desde
main - Realiza tus cambios
- Verifica que el proyecto levante con
docker compose up --build - Abre un Pull Request
Hecho con ❤️ por estudiantes de Ingeniería de Sistemas - Universidad del Norte.