Yii2 Cloud Deployer

Método de pago: Verificado


Cancelado
Descripción:
Yii2 Inquid Deployer:
We need a deployer that saves a register of the attached database
We recommend to use: https://github.com/mootensai/yii2-enhanced-gii:

After ask all this information to the user and save it to a MySQL database, it needs to create a Google Cloud Instance and then run the script, if the user choose client Virtual server it must create a subdomain using Godaddy API and also execute the script in the virtual host server.
Google Cloud Account will be provided also Godaddy API.

This project needs to be a Yii2 Module and will be distributed as an Yii2 Extension with composer.
Design: https://www.figma.com/file/KGBOWOojwtjnz29tIoLdToqQ/Inquid-Deployer
We want to use this widget: https://github.com/drsdre/yii2-wizardwidget
Godaddy domain integration could be optional as a plus, the important part is save the info in the tables as it is in the description, and also include to all tables created time, update time fields and created by and updated by using the id of the user creating the register
and of course use google api to create the instance and execute a script in the server
This Script shows how to create an instance using PHP
https://github.com/GoogleCloudPlatform/php-docs-samples/blob/master/compute/helloworld/app.php

Database attached

CREATE SCHEMA IF NOT EXISTS `Inquid Deployer` DEFAULT CHARACTER SET utf8 ;
USE `Inquid Deployer` ;

CREATE TABLE IF NOT EXISTS `Inquid Deployer`.`project` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(45) NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB;

CREATE TABLE IF NOT EXISTS `Inquid Deployer`.`domain` (
`id` INT NOT NULL AUTO_INCREMENT,
`domain` VARCHAR(100) NOT NULL,
`subdomain` TINYINT(1) NOT NULL DEFAULT 0,
`type` VARCHAR(45) NULL COMMENT 'A AAA CNAME ETC\n',
`domainscol` VARCHAR(45) NULL,
`bought` TINYINT(1) NULL,
`created_at` DATE NULL,
`updated_at` DATE NULL,
`created_by` INT NULL,
`updated_by` INT NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB;

CREATE TABLE IF NOT EXISTS `Inquid Deployer`.`ip` (
`id` INT NOT NULL AUTO_INCREMENT,
`ip` VARCHAR(45) NULL,
`ephemeral` TINYINT(1) NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB;

CREATE TABLE IF NOT EXISTS `Inquid Deployer`.`zone` (
`id` INT NOT NULL AUTO_INCREMENT,
`zone_name` VARCHAR(45) NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB;

CREATE TABLE IF NOT EXISTS `Inquid Deployer`.`server` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(45) NULL,
`type` VARCHAR(45) NULL COMMENT 'APACHE / NGINX',
`os` VARCHAR(45) NULL,
`cpu` VARCHAR(45) NULL,
`ram` VARCHAR(45) NULL,
`disk` VARCHAR(45) NULL,
`description` TEXT NULL,
`created_at` DATE NULL,
`updated_at` DATE NULL,
`created_by` INT NULL,
`updated_by` INT NULL,
`project_id` INT NOT NULL,
`domain_id` INT NOT NULL,
`ip_id` INT NOT NULL,
`zone_idzones` INT NOT NULL,
PRIMARY KEY (`id`),
INDEX `fk_server_project_idx` (`project_id` ASC),
INDEX `fk_server_domain1_idx` (`domain_id` ASC),
INDEX `fk_server_ip1_idx` (`ip_id` ASC),
INDEX `fk_server_zone1_idx` (`zone_idzones` ASC),
CONSTRAINT `fk_server_project`
FOREIGN KEY (`project_id`)
REFERENCES `Inquid Deployer`.`project` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_server_domain1`
FOREIGN KEY (`domain_id`)
REFERENCES `Inquid Deployer`.`domain` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_server_ip1`
FOREIGN KEY (`ip_id`)
REFERENCES `Inquid Deployer`.`ip` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_server_zone1`
FOREIGN KEY (`zone_idzones`)
REFERENCES `Inquid Deployer`.`zone` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE TABLE IF NOT EXISTS `Inquid Deployer`.`script` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(45) NULL,
`description` TEXT NULL,
`filepath` VARCHAR(45) NULL,
`created_at` DATE NULL,
`updated_at` DATE NULL,
`created_by` INT NULL,
`updated_by` INT NULL,
`server_id` INT NOT NULL,
PRIMARY KEY (`id`),
INDEX `fk_script_server1_idx` (`server_id` ASC),
CONSTRAINT `fk_script_server1`
FOREIGN KEY (`server_id`)
REFERENCES `Inquid Deployer`.`server` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

Categoría: IT & Programación
Subcategoría: Programación Web
¿Cuál es el alcance del proyecto?: Cambio mediano
Es un proyecto o una posición?: Un proyecto
Actualmente tengo: Tengo las especificaciones
Disponibilidad requerida: Según se necesite
Roles necesarios: Desarrollador
Integraciones de API: Otros (Otras APIs)

Abierto

Presupuesto

3

Propuestas

3

Freelancers interesados

Publicado: Hace un año

Plazo: No definido

Crea tu propio proyecto

¿Buscas un freelancer para realizar un proyecto similar? Crea tu propio proyecto y recibirás ofertas de los mejores freelancers.


Otros proyectos de este cliente

Para ver más detalles del cliente

Ingresa a Workana

Freelancers que ya aplicaron para este trabajo

Brocard J. "Medir el progreso de un programa por el número de líneas de código, es como medir la construcción de una aeronave por su peso..." "Web development has never been so fun!" + detalles

Anurag eITBiz has been successfully offering web design, development and software development services which includes working on platforms like Classic ASP, ASP.Net (VB, C#), MVC, WCF, Apple iOS (iPhone, iPad), Android devel... + detalles

mukesh p. Best solution provide "Make your own world on your fingers" Standing out from the rest on the World Wide Web is no less than fighting a gigantic battle, which gets updated every day. We know we can help you win th... + detalles