{"id":28958811,"url":"https://github.com/erik-tortarod/justdocit","last_synced_at":"2025-06-23T23:32:35.921Z","repository":{"id":292488553,"uuid":"954805225","full_name":"erik-tortarod/JustDocIt","owner":"erik-tortarod","description":"Online Multilanguage Code Documentor","archived":false,"fork":false,"pushed_at":"2025-06-11T18:04:38.000Z","size":1027,"stargazers_count":5,"open_issues_count":6,"forks_count":1,"subscribers_count":2,"default_branch":"dev","last_synced_at":"2025-06-11T19:16:12.956Z","etag":null,"topics":["aws","biomejs","daisyui","docker","github-actions","java","makefile","mongodb","oauth2","reactjs","spring-boot","tailwindcss","terraform","typescript"],"latest_commit_sha":null,"homepage":"https://deepwiki.com/erik-tortarod/JustDocIt/1-overview","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/erik-tortarod.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,"zenodo":null}},"created_at":"2025-03-25T16:36:06.000Z","updated_at":"2025-06-11T18:04:41.000Z","dependencies_parsed_at":"2025-06-02T19:14:16.152Z","dependency_job_id":null,"html_url":"https://github.com/erik-tortarod/JustDocIt","commit_stats":null,"previous_names":["erik-tortarod/justdocit"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/erik-tortarod/JustDocIt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erik-tortarod%2FJustDocIt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erik-tortarod%2FJustDocIt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erik-tortarod%2FJustDocIt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erik-tortarod%2FJustDocIt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/erik-tortarod","download_url":"https://codeload.github.com/erik-tortarod/JustDocIt/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/erik-tortarod%2FJustDocIt/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261575468,"owners_count":23179522,"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":["aws","biomejs","daisyui","docker","github-actions","java","makefile","mongodb","oauth2","reactjs","spring-boot","tailwindcss","terraform","typescript"],"created_at":"2025-06-23T23:31:12.819Z","updated_at":"2025-06-23T23:32:35.914Z","avatar_url":"https://github.com/erik-tortarod.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Just Doc It - Documentación del Proyecto\n\n![Just Doc It Logo](logo.png)\n\n## Extras\n\n-  Para cualquier duda de la estructura, aquí se proporciona una documentación creada por IA a la cual se le puede preguntar cualquier cuestión del proyecto: [Link AI](https://deepwiki.com/erik-tortarod/JustDocIt/1-overview)\n-  Diseño de Figma: [Link Figma](https://www.figma.com/design/DDN1a1kKOHmwWRiycK7Jdt/Clase-Dise%C3%B1o-Web?node-id=0-1\u0026t=akoh8G6NbL1P3Z6U-1)\n\n## Índice de Contenidos\n\n1. [Finalidad de la web](#1-descripción-de-la-finalidad-de-la-web)\n2. [Guía de Instalación y Uso](#2-cómo-instalar-y-ejecutar-el-proyecto)\n3. [Tecnologías empleadas](#3-tecnologías-empleadas)\n4. [Diagrama de la infraestructura](#4-diagrama-infraestructura)\n\n## 1. Descripción de la Finalidad de la Web\n\nJust Doc It es una plataforma innovadora diseñada para simplificar y automatizar el proceso de documentación de código. Su objetivo principal es eliminar la complejidad tradicional asociada con la documentación de software, ofreciendo una solución integral que:\n\n-  **Automatiza la Documentación**: Genera documentación de código de manera automática sin necesidad de configuración manual.\n-  **Soporta Múltiples Lenguajes**: Permite documentar código de diferentes lenguajes de programación desde una única plataforma.\n-  **Integración con Github**: Facilita el acceso y documentación de repositorios tanto públicos como privados mediante autenticación OAuth2.\n-  **Despliegue Automático**: Genera y despliega automáticamente sitios web estáticos con la documentación.\n-  **Integración con IA**: Todo el código que no esté documentado a mano, se le puede dar a una IA para que lo documente detalladamente en vivo, creando diagramas y explicaciones claras de cada detalle de tu código.\n\n## 2. Cómo instalar y ejecutar el proyecto\n\n### Clonar el repositorio\n\nPrimero, clona el repositorio de Just Doc It, trabajaremos en la rama _dev_:\n\n```bash\ngit clone https://github.com/erik-tortarod/JustDocIt.git\n```\n\n### Configurar Credenciales OpenAI\n\nLa **API_KEY** de de OpenAI actual es esta, se encuentra en el archivo : `manual_proyecto.pdf`\n\nCopiala y pegala en el **Makefile**, justo donde pone _OPENAI_API_KEY_.\n\nEsta clave solo tiene 5€ por lo que si no funciona probablemente se deba a que se ha quedado sin presupuesto.\n\n### Construye el proyecto con Docker\n\nPara evitar tener que instalarte JDK, npm o cualquier cosa, se han implementado una serie de _Dockerfile_ para así poder fácilmente desplegar y destruir todo, simplemente haz en el directorio raiz el comando `make help` y tendrás todas las instrucciones como:\n\n-  Construir y desplegar `make rebuild-all`\n-  Detener contenedores `make stop-all`\n-  Ver logs `make logs-CONTENEDOR`\n\n### Dirígete a http://localhost\n\n## 3. Tecnologías empleadas\n\nA continuación, se detallan las tecnologías empleadas en el proyecto, organizadas por categorías:\n\n### **Frontend**\n\n| Tecnología | Descripción                                                                        |\n| ---------- | ---------------------------------------------------------------------------------- |\n| React      | Librería de JavaScript para construir interfaces de usuario                        |\n| TypeScript | Superconjunto de JavaScript que añade tipado estático                              |\n| Vite       | Herramienta de construcción rápida para proyectos web modernos                     |\n| BiomeJS    | Formateador y linter de código para JavaScript/TypeScript                          |\n| Framer     | Librería para animaciones y prototipos interactivos                                |\n| i18n       | Librería para internacionalización (manejo de múltiples idiomas)                   |\n| Lucide     | Conjunto de iconos de código abierto personalizables                               |\n| Mermaid    | Herramienta basada en Markdown para generar diagramas y gráficos a partir de texto |\n| PrismJS    | Un resaltador de sintaxis ligero, robusto y extensible                             |\n\n### **Diseño**\n\n| Tecnología            | Descripción                                                                   |\n| --------------------- | ----------------------------------------------------------------------------- |\n| Tailwind CSS          | Framework CSS de utilidad para construir diseños personalizados rápidamente   |\n| DaisyUI               | Librería de componentes para Tailwind CSS                                     |\n| Figma                 | Herramienta de diseño de interfaz y prototipado colaborativo                  |\n| Google Search Console | Herramienta de Google para monitorear el rendimiento del sitio en la búsqueda |\n| Metodología BEM       | (Block, Element, Modifier) Metodología para nombrar clases CSS                |\n\n### **Servidor**\n\n| Tecnología            | Descripción                                                                                           |\n| --------------------- | ----------------------------------------------------------------------------------------------------- |\n| JWT (JSON Web Tokens) | Estándar abierto para la creación de tokens de acceso                                                 |\n| OAuth2                | Framework de autorización que permite a las aplicaciones obtener acceso limitado a cuentas de usuario |\n| MongoDB               | Base de datos NoSQL basada en documentos                                                              |\n| LDAP Security         | Protocolo para acceder y mantener servicios de información de directorio distribuido                  |\n| Lombok                | Librería de Java que ayuda a reducir el código repetitivo (boilerplate)                               |\n| iTextPDF              | Librería para crear y manipular documentos PDF                                                        |\n| Java Format           | Formatear y Lintear el código de Java                                                                 |\n\n### **Despliegue**\n\n| Tecnología                  | Descripción                                                 |\n| --------------------------- | ----------------------------------------------------------- |\n| AWS (Amazon Web Services)   | Plataforma de servicios en la nube                          |\n| EFS (Elastic File System)   | Servicio de almacenamiento de archivos escalable            |\n| ACM (Certificate Manager)   | Servicio para gestionar certificados SSL/TLS                |\n| S3 (Simple Storage Service) | Almacenamiento de objetos escalable                         |\n| Vitest                      | Framework de pruebas unitarias compatible con Vite          |\n| Playwright                  | Framework de automatización de pruebas de extremo a extremo |\n| GitHub Actions              | Plataforma de CI/CD para automatizar flujos de trabajo      |\n| MongoDB Atlas               | Servicio de base de datos MongoDB en la nube                |\n| Terraform                   | Herramienta para CI/CD                                      |\n\n### **Otras**\n\n| Tecnología | Descripción                                                            |\n| ---------- | ---------------------------------------------------------------------- |\n| Devin AI   | Asistente de IA para desarrollo                                        |\n| GitBook    | Plataforma para documentar y publicar contenido                        |\n| Scribe     | Herramienta para crear guías paso a paso automáticamente               |\n| OpenAI/Ollama     | API de inteligencia artificial para documentación y análisis de código |\n\n## 4. Diagrama infraestructura\n\n```mermaid\ngraph TB\n    %% Usuario y herramientas de desarrollo\n    User[👤 Developer] --\u003e GitHub[📦 GitHub Repository]\n    User --\u003e DevinAI[🤖 GitHub Devin AI]\n    User --\u003e DockerHub[🐳 Docker Hub]\n\n    %% GitHub y CI/CD\n    GitHub --\u003e Actions[⚙️ GitHub Actions]\n    Actions --\u003e Biome[🔧 Biome\u003cbr/\u003eFormateo de código]\n    Actions --\u003e Vitest[🧪 Vitest\u003cbr/\u003eTesting]\n    Actions --\u003e Terraform[🏗️ Terraform\u003cbr/\u003eInfrastructure as Code]\n\n    %% AWS Infrastructure\n    Terraform --\u003e AWS{☁️ AWS}\n    AWS --\u003e S3[📦 S3 Bucket\u003cbr/\u003eTerraform State]\n    AWS --\u003e ACM[🔒 ACM\u003cbr/\u003eSSL Certificate]\n    AWS --\u003e EFS[💾 EFS\u003cbr/\u003eElastic File System]\n\n    %% Docker Hub connection to EFS\n    DockerHub --\u003e EFS\n\n    %% Applications in EFS\n    EFS --\u003e Frontend[⚛️ Frontend React]\n    EFS --\u003e Backend1[🌱 Backend Spring Boot 1\u003cbr/\u003eGitHub OAuth]\n    EFS --\u003e Backend2[🌱 Backend Spring Boot 2\u003cbr/\u003eLDAP]\n\n    %% External Services\n    ACM --\u003e Hostinger[🌐 Hostinger\u003cbr/\u003eDomain Management]\n    Backend1 --\u003e GitHubOAuth[🔑 GitHub OAuth]\n    Frontend --\u003e OpenAI[🧠 OpenAI API]\n\n    %% Database\n    Backend1 --\u003e MongoDB[(🍃 MongoDB)]\n    Backend2 --\u003e MongoDB\n\n    %% Styling\n    classDef aws fill:#ff9900,stroke:#232f3e,stroke-width:2px,color:#fff\n    classDef github fill:#24292e,stroke:#fff,stroke-width:2px,color:#fff\n    classDef spring fill:#6db33f,stroke:#fff,stroke-width:2px,color:#fff\n    classDef react fill:#61dafb,stroke:#20232a,stroke-width:2px,color:#20232a\n    classDef external fill:#e1e4e8,stroke:#586069,stroke-width:2px,color:#24292e\n    classDef database fill:#47a248,stroke:#fff,stroke-width:2px,color:#fff\n\n    class AWS,S3,ACM,EFS aws\n    class GitHub,Actions,GitHubOAuth,DevinAI github\n    class Backend1,Backend2 spring\n    class Frontend react\n    class Hostinger,OpenAI,LDAP,Biome,Vitest,Terraform,DockerHub external\n    class MongoDB database\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferik-tortarod%2Fjustdocit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferik-tortarod%2Fjustdocit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferik-tortarod%2Fjustdocit/lists"}