SlideShare una empresa de Scribd logo
1 de 24
Asignatura:
Programación IV
Front-End
Tema:
Objetivo:
Al Finalizar la clase el estudiante será capaz de:
• Iniciar la creación del Front-End
Contenido conceptual:
• Front-End
Creando un Modelo de Usuario
• Crear una carpeta dentro del app llamada “models”
Seguido dentro de la carpeta models crear un archive
llamado “usuario.model.ts”
Continua…
Seguido dentro de la carpeta models crear un archive
llamado “usuario.model.ts” y el modelo debera contener
lo siguiente:
export class Usuario{
constructor(
public nombre: string,
public email: string,
public password: string,
public img?: string,
public role?: string,
public _id?: string
) { }
}
Crear interfaz de Acceso (Login)
Crear un componente en el app llamado “login”. Ejemplo:
ng g c login --spec=false
Continua…
• Dentro del archivo login.component.css agregar
lo siguiente:
/*******************
Login register and recover
password Page
******************/
.login-register {
background-size: cover;
background-repeat: no-repeat;
background-position: center
center;
height: 100%;
width: 100%;
padding: 10% 0;
position: fixed;
}
Continua…
.login-box {
width: 400px;
margin: 0 auto;
}
.login-box .footer {
width: 100%;
left: 0px;
right: 0px;
}
.login-box .social {
display: block;
margin-bottom: 30px;
}
#recoverform {
display: none;
}
.login-sidebar {
padding: 0px;
margin-top: 0px;
}
.login-sidebar .login-box {
right: 0px;
position: absolute;
height: 100%;
}
• En el archivo login.component.html deberá
contener lo siguiente:
<section id="wrapper" class="login-register login-sidebar"
style="background-image:url(../assets/images/background/login-
register.jpg);">
<div class="login-box card">
<div class="card-body">
<form class="form-horizontal form-material"
(ngSubmit)="ingresar()">
<a href="javascript:void(0)" class="text-center db"><img
src="../assets/images/logo-icon.png" alt="Home" /><br/><img
src="../assets/images/logo-text.png" alt="Home" /></a>
<div class="form-group m-t-40">
<div class="col-xs-12">
<input class="form-control" type="text" required=""
placeholder="Usuario">
</div>
</div>
Continua…
<div class="form-group">
<div class="col-xs-12">
<input class="form-control" type="password" required=""
placeholder="Contraseña">
</div>
</div>
<div class="form-group row">
<div class="col-md-12">
<div class="checkbox checkbox-primary pull-left p-t-0">
<input id="checkbox-signup" type="checkbox" class="filled-in
chk-col-light-blue">
<label for="checkbox-signup"> Recuérdame </label>
</div>
<a href="javascript:void(0)" id="to-recover" class="text-dark
pull-right"><i class="fa fa-lock m-r-5"></i> Olvide
contraseña?</a> </div>
</div>
Continua…
<div class="form-group text-center m-t-20">
<div class="col-xs-12">
<button class="btn btn-info btn-lg btn-block text-uppercase btn-rounded"
type="submit">Ingresar</button>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12 m-t-10 text-center">
<div class="social">
<a href="javascript:void(0)" class="btn btn-facebook" data-toggle="tooltip"
title="Login with Facebook"> <i aria-hidden="true" class="fa fa-facebook"></i> </a>
<a href="javascript:void(0)" class="btn btn-googleplus" data-toggle="tooltip"
title="Login with Google"> <i aria-hidden="true" class="fa fa-google-plus"></i>
</a>
</div>
</div>
</div>
<div class="form-group m-b-0">
<div class="col-sm-12 text-center">
No tienes cuenta? <a href="pages-register2.html" class="text-primary m-l-
5"><b>Crear cuenta</b></a>
</div>
</div>
Continua…
</form>
<form class="form-horizontal" id="recoverform" action="index.html">
<div class="form-group ">
<div class="col-xs-12">
<h3>Recuperar contraseña</h3>
<p class="text-muted">Escriba su correo electrónico y siga los pasos </p>
</div>
</div>
<div class="form-group ">
<div class="col-xs-12">
<input class="form-control" type="text" required="" placeholder="Email">
</div>
</div>
<div class="form-group text-center m-t-20">
<div class="col-xs-12">
<button class="btn btn-primary btn-lg btn-block text-uppercase waves-effect waves-light"
type="submit">Reset</button>
</div>
</div>
</form>
</div>
</div>
</section>
• En el archivo login.component.ts deberá
contener lo siguiente:
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
declare function init_plugins();
@Component({
selector: 'app-acceso',
templateUrl: './acceso.component.html',
styleUrls: ['./acceso.component.css']
})
export class AccesoComponent implements OnInit {
constructor( public router: Router ) { }
ngOnInit() {
init_plugins();
}
ingresar() {
this.router.navigate([ '/dashboard' ]);
}
}
Continua…
• En el archivo app.routes.ts deberá crear la
importación de LoginComponent
import { RouterModule, Routes } from '@angular/router';
import { HomeComponent } from './pages/home/home.component';
import { LinkComponent } from './pages/link/link.component';
import { GraficoPastelComponent } from './components/grafico-pastel/grafico-
pastel.component';
import { GraficoComponent } from './graficos/grafico/grafico.component';
import { AccesoComponent } from './acceso/acceso.component';
const appRoutes: Routes = [
{ path: 'home', component: HomeComponent },
{ path: 'Link', component: LinkComponent },
{ path: 'Grafico', component: GraficoComponent},
{ path: 'Acceso', component: AccesoComponent},
{ path: '', redirectTo: '/home', pathMatch: 'full'}
// tslint:disable-next-line: no-trailing-whitespace
];
export const APP_ROUTES = RouterModule.forRoot (appRoutes, { useHash: true } );
Continua…
• En el archivo app.module.ts debe asegurarse que
este importado el componente.
// Componentes
import { AppComponent } from './app.component';
import { NavbarComponent } from './shared/navbar/navbar.component';
import { HomeComponent } from './pages/home/home.component';
import { LinkComponent } from './pages/link/link.component';
import { IncrementadorComponent } from
'./components/incrementador/incrementador.component';
import { GraficoPastelComponent } from './components/grafico-
pastel/grafico-pastel.component';
import { GraficoComponent } from './graficos/grafico/grafico.component';
import { AccesoComponent } from './acceso/acceso.component';
• En en el navbar.component.html deberá
agregar la ruta del acceso al login.
<li class="nav-item">
<a class="nav-link" [routerLink]="['/Acceso']"
queryParamsHandling instead preserveFragment>Acceso</a>
</li>
• En una ventana de comandos deberá ejecutar ng serve
–o para ejecutar el proyecto de angular se vera de la
siguiente manera:
Crear un Interfaz de Registro de
Usuario
• Crear un nuevo componente llamado
“register” para el registro de usuarios de la
siguiente manera:
ng g c login/register –spec=false
• En el archivo register.component.html deberá
contener lo siguiente:
<section id="wrapper" class="login-register login-sidebar"
style="background-image:url(../assets/images/background/login-
register.jpg);">
<div class="login-box card">
<div class="card-body">
<form class="form-horizontal form-material" id="loginform"
action="index.html">
<a href="javascript:void(0)" class="text-center db"><img
src="../assets/images/logo-icon.png" alt="Home" /><br/><img
src="../assets/images/logo-text.png" alt="Home" /></a>
<h3 class="box-title m-t-40 m-b-0">Registrate ahora</h3><small>
Crea una cuenta y disfruta</small>
<div class="form-group m-t-20">
<div class="col-xs-12">
<input class="form-control" type="text" required=""
placeholder="Nombre">
</div>
</div>
Continua…
<div class="form-group ">
<div class="col-xs-12">
<input class="form-control" type="text" required=""
placeholder="Correo">
</div>
</div>
<div class="form-group ">
<div class="col-xs-12">
<input class="form-control" type="password" required=""
placeholder="Contraseña">
</div>
</div>
<div class="form-group">
<div class="col-xs-12">
<input class="form-control" type="password" required=""
placeholder="Confirma contraseña">
</div>
</div>
Continua…
<div class="form-group row">
<div class="col-md-12">
<div class="checkbox checkbox-primary p-t-0">
<input id="checkbox-signup" type="checkbox">
<label for="checkbox-signup"> Estoy de acuerdo con los <a
href="#">términos</a></label>
</div>
</div>
</div>
<div class="form-group text-center m-t-20">
<div class="col-xs-12">
<button class="btn btn-info btn-lg btn-block text-uppercase waves-effect waves-
light" type="submit">Registrarme</button>
</div>
</div>
<div class="form-group m-b-0">
<div class="col-sm-12 text-center">
<p>¿Tienes una cuenta? <a href="pages-login-2.html" class="text-info m-l-
5"><b>Ingresa ahora</b></a></p>
</div>
</div>
</form>
</div>
</div>
</section>
• En el app.routes.ts deberá realizar la
importación del register
import { HomeComponent } from './pages/home/home.component';
import { LinkComponent } from './pages/link/link.component';
import { GraficoPastelComponent } from './components/grafico-
pastel/grafico-pastel.component';
import { GraficoComponent } from
'./graficos/grafico/grafico.component';
import { AccesoComponent } from './acceso/acceso.component';
import { RegisterComponent } from './acceso/register.component';
const appRoutes: Routes = [
{ path: 'home', component: HomeComponent },
{ path: 'Link', component: LinkComponent },
{ path: 'Grafico', component: GraficoComponent},
{ path: 'Acceso', component: AccesoComponent},
{ path: 'Register', component: RegisterComponent},
{ path: '', redirectTo: '/home', pathMatch: 'full'}
// tslint:disable-next-line: no-trailing-whitespace
];
Al Finalizar deberá verse lo siguiente al agregar la ruta del
register.
Conclusiones:
El estudiante:
• Iniciar el Front-End para el login y creación de usuarios.
Autoría
Nombre del Docente: Ing. Claudio Gutiérrez, MBA.
Cargo: Docente de Informática
Sede: Central SPS
Bibliografía: http://angular.io

Más contenido relacionado

Similar a Iniciando el front end

Taller de Azure Cognitive Services
Taller de Azure Cognitive ServicesTaller de Azure Cognitive Services
Taller de Azure Cognitive ServicesLuis Beltran
 
Grails: Framework para el desarrollo de aplicaciones Web No 5
Grails: Framework para el desarrollo de aplicaciones Web No 5Grails: Framework para el desarrollo de aplicaciones Web No 5
Grails: Framework para el desarrollo de aplicaciones Web No 5Esteban Saavedra
 
Development Odoo Basic
Development Odoo BasicDevelopment Odoo Basic
Development Odoo BasicMario IC
 
Tips Bootstrap 3 en Drupal 7
Tips Bootstrap 3 en Drupal 7Tips Bootstrap 3 en Drupal 7
Tips Bootstrap 3 en Drupal 7SuperSoft
 
Wp config.php
Wp config.phpWp config.php
Wp config.phpgregozz
 
Wp config.php
Wp config.phpWp config.php
Wp config.phpgregozz
 
HTML5 hoy: Implicancias para desarrolladores y demostraciones
HTML5 hoy: Implicancias para desarrolladores y demostracionesHTML5 hoy: Implicancias para desarrolladores y demostraciones
HTML5 hoy: Implicancias para desarrolladores y demostracionesJuan Eladio Sánchez Rosas
 
Insertar sonido de fondo
Insertar sonido de fondoInsertar sonido de fondo
Insertar sonido de fondolacatorce
 
Introducción a Foundation 5
Introducción a Foundation 5Introducción a Foundation 5
Introducción a Foundation 5Cycle-IT
 
Introducción a Foundation 5
Introducción a Foundation 5Introducción a Foundation 5
Introducción a Foundation 5Cycle-IT
 
Introducción a Django
Introducción a DjangoIntroducción a Django
Introducción a DjangoJoaquim Rocha
 
Presentación sobre Display Suite en el Drupal Day Valencia 2012
Presentación sobre Display Suite en el Drupal Day Valencia 2012Presentación sobre Display Suite en el Drupal Day Valencia 2012
Presentación sobre Display Suite en el Drupal Day Valencia 2012Atenea tech
 

Similar a Iniciando el front end (20)

Taller de Azure Cognitive Services
Taller de Azure Cognitive ServicesTaller de Azure Cognitive Services
Taller de Azure Cognitive Services
 
PROYECTO_PARTE_3.pdf
PROYECTO_PARTE_3.pdfPROYECTO_PARTE_3.pdf
PROYECTO_PARTE_3.pdf
 
Grails: Framework para el desarrollo de aplicaciones Web No 5
Grails: Framework para el desarrollo de aplicaciones Web No 5Grails: Framework para el desarrollo de aplicaciones Web No 5
Grails: Framework para el desarrollo de aplicaciones Web No 5
 
Development Odoo Basic
Development Odoo BasicDevelopment Odoo Basic
Development Odoo Basic
 
Tips Bootstrap 3 en Drupal 7
Tips Bootstrap 3 en Drupal 7Tips Bootstrap 3 en Drupal 7
Tips Bootstrap 3 en Drupal 7
 
Introducción a Flask
Introducción a FlaskIntroducción a Flask
Introducción a Flask
 
Wp config.php
Wp config.phpWp config.php
Wp config.php
 
Wp config.php
Wp config.phpWp config.php
Wp config.php
 
Phonegap
PhonegapPhonegap
Phonegap
 
HTML5 hoy: Implicancias para desarrolladores y demostraciones
HTML5 hoy: Implicancias para desarrolladores y demostracionesHTML5 hoy: Implicancias para desarrolladores y demostraciones
HTML5 hoy: Implicancias para desarrolladores y demostraciones
 
Presentacion YII
Presentacion YIIPresentacion YII
Presentacion YII
 
Programa
ProgramaPrograma
Programa
 
JqueryMobile
JqueryMobile JqueryMobile
JqueryMobile
 
Insertar sonido de fondo
Insertar sonido de fondoInsertar sonido de fondo
Insertar sonido de fondo
 
Introducción a Foundation 5
Introducción a Foundation 5Introducción a Foundation 5
Introducción a Foundation 5
 
Introducción a Foundation 5
Introducción a Foundation 5Introducción a Foundation 5
Introducción a Foundation 5
 
Ejercicio practico sql
Ejercicio practico sqlEjercicio practico sql
Ejercicio practico sql
 
Ejercicio practico sql
Ejercicio practico sqlEjercicio practico sql
Ejercicio practico sql
 
Introducción a Django
Introducción a DjangoIntroducción a Django
Introducción a Django
 
Presentación sobre Display Suite en el Drupal Day Valencia 2012
Presentación sobre Display Suite en el Drupal Day Valencia 2012Presentación sobre Display Suite en el Drupal Day Valencia 2012
Presentación sobre Display Suite en el Drupal Day Valencia 2012
 

Último

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 

Último (19)

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 

Iniciando el front end

  • 2. Objetivo: Al Finalizar la clase el estudiante será capaz de: • Iniciar la creación del Front-End Contenido conceptual: • Front-End
  • 3. Creando un Modelo de Usuario • Crear una carpeta dentro del app llamada “models” Seguido dentro de la carpeta models crear un archive llamado “usuario.model.ts”
  • 4. Continua… Seguido dentro de la carpeta models crear un archive llamado “usuario.model.ts” y el modelo debera contener lo siguiente: export class Usuario{ constructor( public nombre: string, public email: string, public password: string, public img?: string, public role?: string, public _id?: string ) { } }
  • 5. Crear interfaz de Acceso (Login) Crear un componente en el app llamado “login”. Ejemplo: ng g c login --spec=false
  • 6. Continua… • Dentro del archivo login.component.css agregar lo siguiente: /******************* Login register and recover password Page ******************/ .login-register { background-size: cover; background-repeat: no-repeat; background-position: center center; height: 100%; width: 100%; padding: 10% 0; position: fixed; }
  • 7. Continua… .login-box { width: 400px; margin: 0 auto; } .login-box .footer { width: 100%; left: 0px; right: 0px; } .login-box .social { display: block; margin-bottom: 30px; } #recoverform { display: none; } .login-sidebar { padding: 0px; margin-top: 0px; } .login-sidebar .login-box { right: 0px; position: absolute; height: 100%; }
  • 8. • En el archivo login.component.html deberá contener lo siguiente: <section id="wrapper" class="login-register login-sidebar" style="background-image:url(../assets/images/background/login- register.jpg);"> <div class="login-box card"> <div class="card-body"> <form class="form-horizontal form-material" (ngSubmit)="ingresar()"> <a href="javascript:void(0)" class="text-center db"><img src="../assets/images/logo-icon.png" alt="Home" /><br/><img src="../assets/images/logo-text.png" alt="Home" /></a> <div class="form-group m-t-40"> <div class="col-xs-12"> <input class="form-control" type="text" required="" placeholder="Usuario"> </div> </div>
  • 9. Continua… <div class="form-group"> <div class="col-xs-12"> <input class="form-control" type="password" required="" placeholder="Contraseña"> </div> </div> <div class="form-group row"> <div class="col-md-12"> <div class="checkbox checkbox-primary pull-left p-t-0"> <input id="checkbox-signup" type="checkbox" class="filled-in chk-col-light-blue"> <label for="checkbox-signup"> Recuérdame </label> </div> <a href="javascript:void(0)" id="to-recover" class="text-dark pull-right"><i class="fa fa-lock m-r-5"></i> Olvide contraseña?</a> </div> </div>
  • 10. Continua… <div class="form-group text-center m-t-20"> <div class="col-xs-12"> <button class="btn btn-info btn-lg btn-block text-uppercase btn-rounded" type="submit">Ingresar</button> </div> </div> <div class="row"> <div class="col-xs-12 col-sm-12 col-md-12 m-t-10 text-center"> <div class="social"> <a href="javascript:void(0)" class="btn btn-facebook" data-toggle="tooltip" title="Login with Facebook"> <i aria-hidden="true" class="fa fa-facebook"></i> </a> <a href="javascript:void(0)" class="btn btn-googleplus" data-toggle="tooltip" title="Login with Google"> <i aria-hidden="true" class="fa fa-google-plus"></i> </a> </div> </div> </div> <div class="form-group m-b-0"> <div class="col-sm-12 text-center"> No tienes cuenta? <a href="pages-register2.html" class="text-primary m-l- 5"><b>Crear cuenta</b></a> </div> </div>
  • 11. Continua… </form> <form class="form-horizontal" id="recoverform" action="index.html"> <div class="form-group "> <div class="col-xs-12"> <h3>Recuperar contraseña</h3> <p class="text-muted">Escriba su correo electrónico y siga los pasos </p> </div> </div> <div class="form-group "> <div class="col-xs-12"> <input class="form-control" type="text" required="" placeholder="Email"> </div> </div> <div class="form-group text-center m-t-20"> <div class="col-xs-12"> <button class="btn btn-primary btn-lg btn-block text-uppercase waves-effect waves-light" type="submit">Reset</button> </div> </div> </form> </div> </div> </section>
  • 12. • En el archivo login.component.ts deberá contener lo siguiente: import { Component, OnInit } from '@angular/core'; import { Router } from '@angular/router'; declare function init_plugins(); @Component({ selector: 'app-acceso', templateUrl: './acceso.component.html', styleUrls: ['./acceso.component.css'] }) export class AccesoComponent implements OnInit { constructor( public router: Router ) { } ngOnInit() { init_plugins(); } ingresar() { this.router.navigate([ '/dashboard' ]); } }
  • 13. Continua… • En el archivo app.routes.ts deberá crear la importación de LoginComponent import { RouterModule, Routes } from '@angular/router'; import { HomeComponent } from './pages/home/home.component'; import { LinkComponent } from './pages/link/link.component'; import { GraficoPastelComponent } from './components/grafico-pastel/grafico- pastel.component'; import { GraficoComponent } from './graficos/grafico/grafico.component'; import { AccesoComponent } from './acceso/acceso.component'; const appRoutes: Routes = [ { path: 'home', component: HomeComponent }, { path: 'Link', component: LinkComponent }, { path: 'Grafico', component: GraficoComponent}, { path: 'Acceso', component: AccesoComponent}, { path: '', redirectTo: '/home', pathMatch: 'full'} // tslint:disable-next-line: no-trailing-whitespace ]; export const APP_ROUTES = RouterModule.forRoot (appRoutes, { useHash: true } );
  • 14. Continua… • En el archivo app.module.ts debe asegurarse que este importado el componente. // Componentes import { AppComponent } from './app.component'; import { NavbarComponent } from './shared/navbar/navbar.component'; import { HomeComponent } from './pages/home/home.component'; import { LinkComponent } from './pages/link/link.component'; import { IncrementadorComponent } from './components/incrementador/incrementador.component'; import { GraficoPastelComponent } from './components/grafico- pastel/grafico-pastel.component'; import { GraficoComponent } from './graficos/grafico/grafico.component'; import { AccesoComponent } from './acceso/acceso.component';
  • 15. • En en el navbar.component.html deberá agregar la ruta del acceso al login. <li class="nav-item"> <a class="nav-link" [routerLink]="['/Acceso']" queryParamsHandling instead preserveFragment>Acceso</a> </li>
  • 16. • En una ventana de comandos deberá ejecutar ng serve –o para ejecutar el proyecto de angular se vera de la siguiente manera:
  • 17. Crear un Interfaz de Registro de Usuario • Crear un nuevo componente llamado “register” para el registro de usuarios de la siguiente manera: ng g c login/register –spec=false
  • 18. • En el archivo register.component.html deberá contener lo siguiente: <section id="wrapper" class="login-register login-sidebar" style="background-image:url(../assets/images/background/login- register.jpg);"> <div class="login-box card"> <div class="card-body"> <form class="form-horizontal form-material" id="loginform" action="index.html"> <a href="javascript:void(0)" class="text-center db"><img src="../assets/images/logo-icon.png" alt="Home" /><br/><img src="../assets/images/logo-text.png" alt="Home" /></a> <h3 class="box-title m-t-40 m-b-0">Registrate ahora</h3><small> Crea una cuenta y disfruta</small> <div class="form-group m-t-20"> <div class="col-xs-12"> <input class="form-control" type="text" required="" placeholder="Nombre"> </div> </div>
  • 19. Continua… <div class="form-group "> <div class="col-xs-12"> <input class="form-control" type="text" required="" placeholder="Correo"> </div> </div> <div class="form-group "> <div class="col-xs-12"> <input class="form-control" type="password" required="" placeholder="Contraseña"> </div> </div> <div class="form-group"> <div class="col-xs-12"> <input class="form-control" type="password" required="" placeholder="Confirma contraseña"> </div> </div>
  • 20. Continua… <div class="form-group row"> <div class="col-md-12"> <div class="checkbox checkbox-primary p-t-0"> <input id="checkbox-signup" type="checkbox"> <label for="checkbox-signup"> Estoy de acuerdo con los <a href="#">términos</a></label> </div> </div> </div> <div class="form-group text-center m-t-20"> <div class="col-xs-12"> <button class="btn btn-info btn-lg btn-block text-uppercase waves-effect waves- light" type="submit">Registrarme</button> </div> </div> <div class="form-group m-b-0"> <div class="col-sm-12 text-center"> <p>¿Tienes una cuenta? <a href="pages-login-2.html" class="text-info m-l- 5"><b>Ingresa ahora</b></a></p> </div> </div> </form> </div> </div> </section>
  • 21. • En el app.routes.ts deberá realizar la importación del register import { HomeComponent } from './pages/home/home.component'; import { LinkComponent } from './pages/link/link.component'; import { GraficoPastelComponent } from './components/grafico- pastel/grafico-pastel.component'; import { GraficoComponent } from './graficos/grafico/grafico.component'; import { AccesoComponent } from './acceso/acceso.component'; import { RegisterComponent } from './acceso/register.component'; const appRoutes: Routes = [ { path: 'home', component: HomeComponent }, { path: 'Link', component: LinkComponent }, { path: 'Grafico', component: GraficoComponent}, { path: 'Acceso', component: AccesoComponent}, { path: 'Register', component: RegisterComponent}, { path: '', redirectTo: '/home', pathMatch: 'full'} // tslint:disable-next-line: no-trailing-whitespace ];
  • 22. Al Finalizar deberá verse lo siguiente al agregar la ruta del register.
  • 23. Conclusiones: El estudiante: • Iniciar el Front-End para el login y creación de usuarios.
  • 24. Autoría Nombre del Docente: Ing. Claudio Gutiérrez, MBA. Cargo: Docente de Informática Sede: Central SPS Bibliografía: http://angular.io