{"id":13343498,"url":"https://github.com/raupulus/project-generator","last_synced_at":"2025-03-12T06:30:22.677Z","repository":{"id":50206595,"uuid":"115611321","full_name":"raupulus/project-generator","owner":"raupulus","description":"Genera la estructura entre varios proyectos de los más recurridos en mi trabajo. Este es un mirror de: https://gitlab.com/raupulus/project-generator","archived":true,"fork":false,"pushed_at":"2023-03-13T17:21:42.000Z","size":382,"stargazers_count":3,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-24T16:48:57.924Z","etag":null,"topics":["angular","api","bash","blask","django","fryntiz","generator","hexo","js","node","php","plantilla","project","project-generator","proyecto","python","slim","template","yii","yii2"],"latest_commit_sha":null,"homepage":"https://fryntiz.es","language":"Shell","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raupulus.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":"2017-12-28T10:12:58.000Z","updated_at":"2023-03-27T07:40:39.000Z","dependencies_parsed_at":"2024-10-24T07:02:37.985Z","dependency_job_id":"1e769dc4-414d-4c8b-97f3-9bb8afa12005","html_url":"https://github.com/raupulus/project-generator","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raupulus%2Fproject-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raupulus%2Fproject-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raupulus%2Fproject-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raupulus%2Fproject-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raupulus","download_url":"https://codeload.github.com/raupulus/project-generator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243171338,"owners_count":20247876,"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":["angular","api","bash","blask","django","fryntiz","generator","hexo","js","node","php","plantilla","project","project-generator","proyecto","python","slim","template","yii","yii2"],"created_at":"2024-07-29T19:31:22.516Z","updated_at":"2025-03-12T06:30:22.231Z","avatar_url":"https://github.com/raupulus.png","language":"Shell","readme":"# Generador_Proyectos\n\nGenera la estructura entre varios proyectos de los más recurridos en mi trabajo\n\nEl objetivo principal de este repositorio es crear de una forma sencilla un \nproyecto entre los cuales dejo planteado, mediante un menú de selección.\n\nSe creará un comando solo para el usuario que podrá llamarse desde cualquier \nparte del sistema escribiendo \"**proyecto**\" dentro del directorio donde se \ndesea crear. Una vez ejecutado el comando preguntará el tipo de proyecto a \ngenerar y creará su estructura.\n\nTras crear la estructura nos preguntará si inicializar el repositorio y \ndespués si crear un repositorio en github asociado al mismo.\n\n![Imagen de previsualización](docs/preview.png)\n\n## Requisitos\n\nPara que funcione la subida a repositorio en github debes tener **hub** bien\nconfigurado en el sistema. Más información en https://github.com/github/hub\n\nEs fundamental tener instalado **git** en el sistema. En debian:\n\n```bash\n    sudo apt install git\n```\n\nEl script está orientado a distribuciones GNU/Linux y solo se ha probado\nen Debian GNU/Linux stable por lo que no se garantiza el funcionamiento en\notros sistemas o incluso otras ramas de la misma distribución.\n\nMás información sobre Debian: https://www.debian.org/\n\nPara aplicaciones o frameworks php es necesario tener instalado **composer**.\nMás sobre comoser: https://getcomposer.org/\n\nPara aplicaciones o frameworks python es necesario tener instalado **pip** y/o\n**pip3** para python3. \nMás información: https://es.wikipedia.org/wiki/Pip_(administrador_de_paquetes)\n\n## Instalación\n\nEl primer paso es obtener el repositorio:\n\n```bash\n    git clone https://github.com/fryntiz/Generador_Proyectos.git\n```\n\nPara instalar este script solo hay que ejecutar **instalar.sh**:\n\n```bash\n    cd Generador_Proyectos\n    ./instalar.sh\n```\n\n## Funcionamiento\n\nHay dos formas de usar este script:\n\n### Modo interactivo\n\nPide paso por paso cada acción a realizar a través de un menú interactivo dónde\nse introduce el número de la opción a realizar.\n\nPara entrar de este modo solo es necesario escribir en un terminal:\n\n```bash\n    proyecto\n```\n\nEl resultado o acciones serán ejecutadas en el mismo directorio donde nos\nencontremos actualmente por lo que primero deberemos entrar en el directorio de\ntrabajo.\n\n![Imagen de previsualización](docs/preview1.png)\n\n### Modo directo\n\nEl modo directo nos permite introducir como primer parámetro el comando puede\nrecibir el tipo de proyecto y como segundo parámetro el nombre del proyecto\nresultando la siguiente sintaxis:\n\n```bash\n    proyecto tipo nombre\n```\n\nQuedando un ejemplo como el siguiente:\n\n```bash\n    proyecto yii2 web_curriculum\n```\n\n![Imagen de previsualización](docs/preview2.png)\n\n## Proyectos implementados\n\nLas plantillas de proyectos implementadas hasta el momento son:\n\n|   Lenguaje   |  framework   |   Plantilla  |    Custom    |\n| :----------: | :----------: | :----------: | :----------: |\n|     php      |     yii2     |    Básica    |      Si      |\n|      JS      |    Angular   |    Básica    |      Si      |\n|     Bash     |      -       |    Básica    |      Si      |\n|    Python    |    Blask     |    Básica    |      Si      |\n|      JS      |     Hexo     |    Básica    |      Si      |\n|      JS      |    NodeJS    |    Básica    |      Si      |\n|     php      |     Slim     |    Básica    |      Si      |\n\n-   Lenguaje  → Indica para que lenguaje de programación está orientado.\n-   Framework → Indica el framework del cual crea el esqueleto (si lo hubiera).\n-   Plantilla → Indica sobre que plantilla oficial está basado el esqueleto.\n-   Custom    → Indica si está personalizada o es igual que la oficial.\n\n## Menú de ayuda\n\nEl comando incluye una ayuda donde se puede ver en cualquier momento y desde\ncualquier parte la sintaxis, el orden y los proyectos que se pueden generar.\n\nPodemos utilizar cualquiera de las dos formas siguientes para invocar la ayuda:\n\n```bash\n    proyecto -h\n```\n\n```bash\n    proyecto --help\n```\n\nResultando una ayuda como en la imagen a continuación:\n\n![Imagen de previsualización](docs/preview3.png)\n\nEn la ayuda podemos ver la sintaxis y además coloreado en **rojo** vemos el \ntipo de proyecto que podremos utilizar para indicarlo al crear uno nuevo.\n\n## A tener en cuenta\n\nPrácticamente todos los proyectos tendrán dependencias que se resuelven \nautomáticamente si tenemos bien instalado las tecnologías necesarias.\n\nSe parte de haber preparado el sistema correctamente para cada lenguaje, \nyo personalmente lo uso y testeo en Debian Stable usando la **herramienta**\no conjunto de **scripts** propios desde el siguiente repositorio:\n\n- https://github.com/fryntiz/Debian_Developer_Init\n\nLa Guía de **estilos** usada para la sintaxis en **bash** es la siguiente:\n\n- https://github.com/fryntiz/Bash_Style_Guide\n\nSe deberá tener configurado gestores de paquetes para cada **proyecto** y para \n**git**:\n\n- Para que funcione correctamente se deberá tener instalado servidores y \ntecnologías necesarias para cada ámbito, por ejemplo para un proyecto **php** \ndeberá existir **composer**, para python **pip**\n- Para inicializar repositorio deberá estar instalado **GIT**.\n- Para poder crear repositorio en **GitHub** correctamente deberá estar **git** \nconfigurado en el sistema.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraupulus%2Fproject-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraupulus%2Fproject-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraupulus%2Fproject-generator/lists"}