Coder Social home page Coder Social logo

raupulus / project-generator Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 0.0 382 KB

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

Home Page: https://fryntiz.es

License: GNU General Public License v3.0

Shell 82.96% Batchfile 0.08% Python 4.04% CSS 2.82% HTML 7.44% Makefile 1.94% JavaScript 0.71%
template proyecto generator project project-generator fryntiz bash php js angular

project-generator's Introduction

Generador_Proyectos

Genera la estructura entre varios proyectos de los más recurridos en mi trabajo

El objetivo principal de este repositorio es crear de una forma sencilla un proyecto entre los cuales dejo planteado, mediante un menú de selección.

Se creará un comando solo para el usuario que podrá llamarse desde cualquier parte del sistema escribiendo "proyecto" dentro del directorio donde se desea crear. Una vez ejecutado el comando preguntará el tipo de proyecto a generar y creará su estructura.

Tras crear la estructura nos preguntará si inicializar el repositorio y después si crear un repositorio en github asociado al mismo.

Imagen de previsualización

Requisitos

Para que funcione la subida a repositorio en github debes tener hub bien configurado en el sistema. Más información en https://github.com/github/hub

Es fundamental tener instalado git en el sistema. En debian:

    sudo apt install git

El script está orientado a distribuciones GNU/Linux y solo se ha probado en Debian GNU/Linux stable por lo que no se garantiza el funcionamiento en otros sistemas o incluso otras ramas de la misma distribución.

Más información sobre Debian: https://www.debian.org/

Para aplicaciones o frameworks php es necesario tener instalado composer. Más sobre comoser: https://getcomposer.org/

Para aplicaciones o frameworks python es necesario tener instalado pip y/o pip3 para python3. Más información: https://es.wikipedia.org/wiki/Pip_(administrador_de_paquetes)

Instalación

El primer paso es obtener el repositorio:

    git clone https://github.com/fryntiz/Generador_Proyectos.git

Para instalar este script solo hay que ejecutar instalar.sh:

    cd Generador_Proyectos
    ./instalar.sh

Funcionamiento

Hay dos formas de usar este script:

Modo interactivo

Pide paso por paso cada acción a realizar a través de un menú interactivo dónde se introduce el número de la opción a realizar.

Para entrar de este modo solo es necesario escribir en un terminal:

    proyecto

El resultado o acciones serán ejecutadas en el mismo directorio donde nos encontremos actualmente por lo que primero deberemos entrar en el directorio de trabajo.

Imagen de previsualización

Modo directo

El modo directo nos permite introducir como primer parámetro el comando puede recibir el tipo de proyecto y como segundo parámetro el nombre del proyecto resultando la siguiente sintaxis:

    proyecto tipo nombre

Quedando un ejemplo como el siguiente:

    proyecto yii2 web_curriculum

Imagen de previsualización

Proyectos implementados

Las plantillas de proyectos implementadas hasta el momento son:

Lenguaje framework Plantilla Custom
php yii2 Básica Si
JS Angular Básica Si
Bash - Básica Si
Python Blask Básica Si
JS Hexo Básica Si
JS NodeJS Básica Si
php Slim Básica Si
  • Lenguaje → Indica para que lenguaje de programación está orientado.
  • Framework → Indica el framework del cual crea el esqueleto (si lo hubiera).
  • Plantilla → Indica sobre que plantilla oficial está basado el esqueleto.
  • Custom → Indica si está personalizada o es igual que la oficial.

Menú de ayuda

El comando incluye una ayuda donde se puede ver en cualquier momento y desde cualquier parte la sintaxis, el orden y los proyectos que se pueden generar.

Podemos utilizar cualquiera de las dos formas siguientes para invocar la ayuda:

    proyecto -h
    proyecto --help

Resultando una ayuda como en la imagen a continuación:

Imagen de previsualización

En la ayuda podemos ver la sintaxis y además coloreado en rojo vemos el tipo de proyecto que podremos utilizar para indicarlo al crear uno nuevo.

A tener en cuenta

Prácticamente todos los proyectos tendrán dependencias que se resuelven automáticamente si tenemos bien instalado las tecnologías necesarias.

Se parte de haber preparado el sistema correctamente para cada lenguaje, yo personalmente lo uso y testeo en Debian Stable usando la herramienta o conjunto de scripts propios desde el siguiente repositorio:

La Guía de estilos usada para la sintaxis en bash es la siguiente:

Se deberá tener configurado gestores de paquetes para cada proyecto y para git:

  • Para que funcione correctamente se deberá tener instalado servidores y tecnologías necesarias para cada ámbito, por ejemplo para un proyecto php deberá existir composer, para python pip
  • Para inicializar repositorio deberá estar instalado GIT.
  • Para poder crear repositorio en GitHub correctamente deberá estar git configurado en el sistema.

project-generator's People

Contributors

dependabot[bot] avatar raupulus avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.