AcademicStudent

En esta sección se atenderán las dudas relacionadas con sistemas de gestión de la calidad, procedimientos, buenas prácticas, normas y todo lo relacionado con aseguramiento de la calidad

Moderator: julianmartinez16

User avatar
andresfqs
Posts: 9
Joined: Thu Jul 26, 2018 12:12 pm

AcademicStudent

Post by andresfqs » Thu Jul 26, 2018 12:45 pm

AcademicStudent

Andrés Felipe Quintero Salazar
Jonathan Steven Franco Gonzalez


User avatar
andresfqs
Posts: 9
Joined: Thu Jul 26, 2018 12:12 pm

Re: AcademicStudent

Post by andresfqs » Thu Aug 09, 2018 11:40 am

Sprint 1 - agosto 2 - 9

Creación de tareas y asignar al primer sprint - 1
Creación del repositorio de código - 1
Creación de cuenta en Azure - 2
Creación de la base de datos - 2
Creación del Hosting - 2

Velocidad: 8

¿Qué hemos hecho?
Como se puede visualizar en las tareas del primer sprint, realizamos la creación de recursos necesarios para comenzar a trabajar en la solución del proyecto.

¿Qué vamos a hacer?
Vamos a comenzar a realizar el diseño de la solución.

¿Qué dificultades hemos tenido?
Sin dificultades por ahora.

Gráfica burndown

Image

Evidencias

Image

Image

Image

Image

Image

Image
Last edited by andresfqs on Thu Sep 20, 2018 11:21 am, edited 6 times in total.

User avatar
xacarana
Site Admin
Posts: 1019
Joined: Fri Jan 15, 2016 6:13 pm

Re: AcademicStudent

Post by xacarana » Tue Aug 14, 2018 12:23 pm

Image
  • Falta el repositorio
  • No hay planeación del sprint
  • No hay seguimiento
  • Primer strike
Andrés Bedoya Tobón
Profesor
"I only smile in the dark, I only smile when it's complicated" Raybiez

User avatar
jonathan.sf
Posts: 9
Joined: Mon Jul 18, 2016 9:00 am

Re: AcademicStudent

Post by jonathan.sf » Thu Aug 16, 2018 12:14 pm

Se creo el repositorio en team foundation service en esta plataforma se manejan el versiona miento los sprints y el backlog.
Esta plataforma es cerrada por lo cual el acceso con autorización previa la cual ya fue enviada al correo del profesor se adjunta el link

https://academicstudent.visualstudio.co ... micstudent

adicionalmente se maqueto la estructura de la aplicación.

Image

Image

Image

Posteriormente se realizó el primer check in en el repositorio

Image

User avatar
andresfqs
Posts: 9
Joined: Thu Jul 26, 2018 12:12 pm

Re: AcademicStudent

Post by andresfqs » Thu Aug 16, 2018 7:43 pm

Sprint 2 - agosto 10 - 16

Creación del repositorio en team foundation service 1
Maquetar la estructura de la aplicación 2
Hacer check in en el repositorio 1
Realizar el diagrama para la base de datos SQL 2
instalación las dll necesarias para framework de persistencia y la autenticación 2

Velocidad: 8

¿Qué hemos hecho?
Realizamos las tareas propuestas en el segundo sprint.

¿Qué vamos a hacer?
Vamos a comenzar con el desarrollo.

¿Qué dificultades hemos tenido?
Retrasos al realizar las tareas.

Gráfica burndown

Image

Evidencias
También se creó el diagrama para la base de datos SQL y se instalaron las dll necesarias para framework de persistencia y la autenticación.

Image

Image

Image

Image
Last edited by andresfqs on Thu Sep 20, 2018 11:22 am, edited 2 times in total.

User avatar
jonathan.sf
Posts: 9
Joined: Mon Jul 18, 2016 9:00 am

Re: AcademicStudent

Post by jonathan.sf » Fri Aug 24, 2018 6:43 am

Se realizo la creación de bade de datos no SQL.
en la cual se crearon las clases las cuales tienen relación con las tablas.
El servicio utilizado fue azure table storage.

Image

Image

User avatar
jonathan.sf
Posts: 9
Joined: Mon Jul 18, 2016 9:00 am

Re: AcademicStudent

Post by jonathan.sf » Fri Aug 24, 2018 6:56 am

Algunas clases relacionadas con tablas no SQL

Image

User avatar
xacarana
Site Admin
Posts: 1019
Joined: Fri Jan 15, 2016 6:13 pm

Re: AcademicStudent

Post by xacarana » Tue Aug 28, 2018 5:23 pm

Segundo strike, recordar responder las preguntas e incorporar las siguientes isntrucciones para la próxima clase:

Image
  • Se debe dejar explicito el número del sprint actual, cuando empieza y cuando termina
  • Faltan los puntos de velocidad
  • Falta la gráfica burndown
  • Todos los post deben llevar evidencia de avance funcional, no solo capturas de la interfaz
  • Usen la etiqueta code, cuando vayan a pegar código.
  • Se debe incluir el checklist de código y el cheklist de diseño por cada componente
  • Se debe diseñar primero el componente y se debe publicar el diseño mínimo 3 diagramas
Andrés Bedoya Tobón
Profesor
"I only smile in the dark, I only smile when it's complicated" Raybiez

User avatar
andresfqs
Posts: 9
Joined: Thu Jul 26, 2018 12:12 pm

Re: AcademicStudent

Post by andresfqs » Wed Aug 29, 2018 8:08 pm

Sprint 3 - agosto 17 - 28

Creación de base de datos no SQL - 1
Creación de las clases que tienen relación con las tablas - 2
Creación del diagra de casos de uso - 2
Creación del diagrama de clases - 2

Velocidad: 7

Repositorio

https://academicstudent.visualstudio.co ... micstudent

Gráfica burndown

Image

Evidencias

Image

Image
Last edited by andresfqs on Thu Sep 20, 2018 11:23 am, edited 3 times in total.

User avatar
jonathan.sf
Posts: 9
Joined: Mon Jul 18, 2016 9:00 am

Re: AcademicStudent

Post by jonathan.sf » Tue Sep 11, 2018 10:32 am

Sprint 4

Módulo Login

HTML

Code: Select all

<!doctype html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang=""> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8" lang=""> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9" lang=""> <![endif]-->
<!--[if gt IE 8]><!-->
<html class="no-js" lang="">
 <!--<![endif]-->
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Login</title>
    <meta name="description" content="Sufee Admin - HTML5 Admin Template">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="apple-touch-icon" href="apple-icon.png">
    <link rel="shortcut icon" href="favicon.ico">
    <link rel="stylesheet" href="assets/css/normalize.css">
    <link rel="stylesheet" href="assets/css/bootstrap.min.css">
    <link rel="stylesheet" href="assets/css/font-awesome.min.css">
    <link rel="stylesheet" href="assets/css/themify-icons.css">
    <link rel="stylesheet" href="assets/css/flag-icon.min.css">
    <link rel="stylesheet" href="assets/css/cs-skin-elastic.css">
    <!-- <link rel="stylesheet" href="assets/css/bootstrap-select.less"> -->
    <link rel="stylesheet" href="assets/scss/style.css">
    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800' rel='stylesheet' type='text/css'>
    <!-- <script type="text/javascript" src="https://cdn.jsdelivr.net/html5shiv/3.7.3/html5shiv.min.js"></script> -->
</head>
<body class="bg-dark">

    <div class="sufee-login d-flex align-content-center flex-wrap">
        <div class="container">
            <div class="login-content">
                <div class="login-logo">
                    <h3 style="color:azure">AcademicStudent</h3>
                </div>
                <br />
                <br />
                <div class="login-form">
                    <form>
                        <div class="form-group">
                            <label>Email </label>
                            <input id="email" type="email" class="form-control" placeholder="Email">
                        </div>
                        <div class="form-group">
                            <label>Contraseña</label>
                            <input id="pass" type="password" class="form-control" placeholder="Contraseña">
                        </div>
                        <div class="checkbox">
                            <!--<label>
                                <input type="checkbox">
                            </label>-->
                            <label class="pull-right">
                                <a href="#">
                                    ¿Contraseña olvidada?
                                </a>
                            </label>
                        </div>
                        <button id="signIn" type="button" class="btn btn-success btn-flat m-b-30 m-t-30">Iniciar</button>

                    </form>
                </div>
            </div>
        </div>
    </div>

    <script src="assets/js/vendor/jquery-2.1.4.min.js"></script>
    <script src="assets/js/popper.min.js"></script>
    <script src="assets/js/plugins.js"></script>
    <script src="assets/js/main.js"></script>
    <script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
    <script src="js/login.js"></script>
    <script>
        $(function () {
            init();
        });
    </script>
</body>
</html>

JS

Code: Select all

function init() {
    $("#signIn").click(function () {
        login();
    });
}

function login() {
    var email = $("#email").val();
    var pass = $("#pass").val();

    if (email.trim() != "" && pass.trim() != "") {

        $.ajax({
            url: "http://academicstudentweb.azurewebsites.net/api/Login?email=" + email + "&passwd=" + pass,
            type: "GET",
            dataType: "json",
            success: function (data) {
                if (data != null) {
                    window.location.href = "index.html";
                }
            },
            error: function (msg) {
                alert(msg);
            }
        });
    }

}
Controller REST API

Code: Select all

using AcademicStudent_Entity.Storage;
using GoMonke.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;

public class LoginController : ApiController
{
    // GET api/<controller>
    public IEnumerable<User> Get()
    {
        var repo = new Repository<User>();
        var users = repo.Get("AcademicStudent").ToList();

        return users;
    }

    // GET api/<controller>/5
    public User Get(string email, string passwd)
    {
        var repo = new Repository<User>();

        var user = repo.Get("AcademicStudent").Where(x => x.Email == email && x.Password == passwd).FirstOrDefault();
        if (user != null)
        {
            user.Password = "";
        }

        return user;
    }

    // POST api/<controller>
    public void Post([FromBody]User newUser)
    {
        var repo = new Repository<User>();

        if (newUser != null)
        {
            newUser.PartitionKey = "AcademicStudent";
            newUser.RowKey = Guid.NewGuid().ToString();

            repo.Save(newUser);
        }

    }

    // PUT api/<controller>/5
    public void Put(int id, [FromBody]User newUser)
    {
        var repo = new Repository<User>();

        if (newUser != null)
        {
            var oldUser = repo.Get(newUser.PartitionKey, newUser.RowKey);

            oldUser.LastName = newUser.LastName;
            oldUser.FirstName = newUser.FirstName;
            oldUser.DocumentNumber = newUser.DocumentNumber;
            oldUser.Address = newUser.Address;

            repo.Save(oldUser);
        }
    }

    // DELETE api/<controller>/5
    public void Delete(string partitionKey, string rowKey)
    {
        var repo = new Repository<User>();

        var oldUser = repo.Get(partitionKey, rowKey);

        if (oldUser != null) {
            repo.Delete(oldUser);
        }

    }
}


Post Reply