Backend de la Web en Angular y la App en Ionic
Video demo: Prueba del cliente y api
Guía para poder instalar las herramientas necesarias para ejecutar el proyecto.
- GIT (opcional)
- Visual Studio 2019 Community
- Agregar soporte para .net core en la instalación
- Extension de Visual Studio Conveyor
- SQL Server Development Edition
- SQL Server Management Studio (opcional)
- Comando de .net core para generar la base de datos
dotnet tool install --global dotnet-ef
-
Descargar e inicializar el proyecto
-
Configuración del entorno
- Si se desea activar el envio de mail con la contraseña se debe gestionar previamente
- Se puede elegir por ejemplo MailJET que posee cuentas free con 200 mails por mes
- Tambien se puede elegir Mailtrap
- Base de datos
- Solución en Visual Studio
- Editar el archivo de secretos del proyecto Ejercicio2.Api.Users
- Copiar el siguiente contenido y adaptarlo a la configuración local de cada máquina
{ "ConnectionStrings": { "Default": "server=localhost;userid=ejemplo2;password=ejemplo2;database=Ejemplo2DB;connectionreset=true;Allow User Variables=True;SslMode=none", "SqlServerContext": "server=Instancia de SQL Server;User Id=usuario;Password=contraseña;Database=Ejemplo2ApiDB;" }, "Email": { "From": "Grupo Angular!", "Dir": "direccion de email del servidor elegido" }, "SmtpServer": { "Url": "URL del servidor de mail", "Port": "465", "UseSSL": "true", "RequireAuth": "true", "user": "usuario del servidor de mail", "password": "contraseña del servidor de mail" }, "AppSettings": { "OriginCors": [ "http://localhost:4200", "http://localhost:8100", "http://localhost", "http://10.0.0.4:4200" ], "secret": "ingresar aqui el secreto", "issuer": "https://localhost:5001", "audience": "ejercicio2.api" }, "Serilog": { "MinimumLevel": { "Default": "Debug", "Override": { "Microsoft": "Warning", "System": "Warning" } }, "WriteTo": [ { "Name": "File", "Args": { "path": ".\\LOGs\\log_api_ejemplo2.txt", "rollingInterval": "Day", "rollOnFileSizeLimit": "true", "fileSizeLimitBytes": "10485760" } } ] } }
- Si se desea activar el envio de mail con la contraseña se debe gestionar previamente
-
Generar la base de Datos
- Posicionarse en el directorio Ejercicio2.Api.Context.MsSql
- cd [directorio del proyecto]\Context\Ejercicio2.Api.Context.MsSql
dotnet-ef database update --startup-project="../../Apis/Ejercicio2.Api.Users/Ejercicio2.Api.Users.csproj" --context="MsSqlContext"
-
Ejecución
- Establecer como proyecto de inicio a Apis/Ejercicio2.Api.Users
- Ejecutarlo como proceso
- Extraer la URL generada por la extension Conveyor y copiarla en el archivo environment.ts del proyecto Web en Angular y la App en Ionic
- Crear usuario (Todos los campos son necesarios)
- Nombre completo
- Fecha de nacimiento // fecha mayor a 18 años
- Orientación sexual
- Email // Validar el email - El email debe ser único
- Teléfono // El teléfono debe ser único.
- Contraseña
- Actualización de usuario:
- Recibe como parámetro el ID del usuario
- Solo puede actualizar:
- su nombre
- fecha nacimiento
- sexo
- teléfono.
- Haciendo las validaciones necesarias.
- Actualización de contraseña:
- Recibe como parámetro el email del usuario
- Se debe utilizar un método nuevo de actualización
- Sin embargo, la contraseña se debe generar y enviar por correo.
- Obtener usuario
- Recibe como parámetro el correo electrónico para obtener el usuario
- En caso de que esté parámetro no se envié regresara toda la lista de usuarios.
- Eliminar usuario, recibe como parámetro el id del usuario y elimina dicho registro.