Ekri

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
MarteloKpoper
Posts: 10
Joined: Thu Jul 26, 2018 12:12 pm

Re: Ekri

Post by MarteloKpoper » Wed Sep 12, 2018 11:35 pm

Sprint 7
Fecha inicio: 5 de agosto 2018
Fecha fin: 12 de septiembre 2018

¿Que hemos hecho?
- diseño base del login 2

¿Que vamos a hacer?
- Crear la conexion con la base de datos 8

velocidad total sprint 7: 8

¿Que dificultades hemos tenido?
- Falta de tiempo por carga academica, Problemas estudiando la tecnologia a usar.

https://imgur.com/rFVqB8b
https://imgur.com/2Lsbbpw
https://imgur.com/JdNBct0
https://imgur.com/2NEOggJ

User avatar
CathyLec
Posts: 13
Joined: Thu Jul 26, 2018 12:11 pm

Re: Ekri

Post by CathyLec » Tue Sep 18, 2018 8:43 am

Sprint 8
Fecha inicio:12 de septiembre
Fecha fin: 18 de septiembre
¿Que hemos hecho?
Cambiamos de plataforma, decidimos continuar el proyecto en android studio
Se realizo navegabilidad, diseño base y conexion a base de datos
Se obtuvo un primer minimo producto viable
se realizo la creacion de un nuevo repositorio
¿Que se va a realizar?
- Vista de login en android estudio 4
- Back de login 6
Velocidad total del sprint : 10

Evidencias

Enlace repositorio
https://github.com/CathyLec/EkriAndroid

Diagramas

Casos de uso
Image

Flujo
Image

Seecuencia
Image

Burndown
Image

User avatar
CathyLec
Posts: 13
Joined: Thu Jul 26, 2018 12:11 pm

Re: Ekri

Post by CathyLec » Fri Sep 28, 2018 1:03 am

Sprint 9
Fecha inicio: 19 de septiembre
Fecha fin: 25 de septiembre
¿Que se hizo?
-Diseño del sing in
-Diseño del sing up
¿Que se hara?
-Back del sing in 6
-Back del sing up 6
velocidad total sprint: 12

Problemas:
- errores y alertas en el gradle
- actualizacion de android studio
- errores de version

Evidencias

-Errores y alertas
Image
Image
Image
-Diseño sing in
Image
-Diseño sing up
Image
-Logo
Image
-Grafica Burn down
Image

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

Re: Ekri

Post by xacarana » Tue Oct 02, 2018 1:16 pm

Image

Pendiente la publicación del martes, la próxima clase revisamos avance en el repositorio, avance de martes y jueves, validación en el checklist de diseño y código y burndown actualizado.
Andrés Bedoya Tobón
Profesor
"I only smile in the dark, I only smile when it's complicated" Raybiez

User avatar
CathyLec
Posts: 13
Joined: Thu Jul 26, 2018 12:11 pm

Re: Ekri

Post by CathyLec » Thu Oct 04, 2018 12:30 am

Sprint 10
Fecha inicio: 25 de septiembre
Fecha fin: 02 de octubre
¿Que se hizo?
-Solucion errores en el gradle
-Back del sing in
-Back del sing up
¿Que se hara?
-Correccion actualizacion de personaje, textos, notas y cronologia10
velocidad total sprint: 10

Evidencia:
Iniciar Sesion

Code: Select all

public class Singin extends BaseActivity implements View.OnClickListener {
    private TextView txtSingup;
    private EditText inputMail;
    private EditText inputPassword;
    private FirebaseAuth mAuth;
    private ProgressDialog progressDialog;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_singin);

        txtSingup=(TextView) findViewById(R.id.link_Singup);
        inputMail=(EditText)findViewById(R.id.input_email);
        inputPassword=(EditText) findViewById(R.id.input_password);
        progressDialog = new ProgressDialog(this);
        findViewById(R.id.btn_signin).setOnClickListener(this);
        mAuth= FirebaseAuth.getInstance();
    }

    public void signIn(){
        final String email=inputMail.toString().trim();
        String password=inputPassword.toString().trim();

        if (TextUtils.isEmpty(email)) {//(precio.equals(""))
            Toast.makeText(this, "Se debe ingresar un email", Toast.LENGTH_LONG).show();
            return;
        }

        if (TextUtils.isEmpty(password)) {
            Toast.makeText(this, "Falta ingresar la contraseña", Toast.LENGTH_LONG).show();
            return;
        }
        progressDialog.setMessage("Realizando consulta en linea...");
        progressDialog.show();

        mAuth.signInWithEmailAndPassword(email, password)
                .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        //checking if success
                        if (task.isSuccessful()) {
                            Toast.makeText(Singin.this, "Bienvenido: " + inputMail.getText(), Toast.LENGTH_LONG).show();
                            Textos();


                        } else {
                            if (task.getException() instanceof FirebaseAuthUserCollisionException) {//si se presenta una colisión
                                Toast.makeText(Singin.this, "Ese usuario ya existe ", Toast.LENGTH_SHORT).show();
                            } else {
                                Toast.makeText(Singin.this, "No se pudo registrar el usuario ", Toast.LENGTH_LONG).show();
                            }
                        }
                        progressDialog.dismiss();
                    }
                });

    }

    public void SingUp (View view){

        Intent intent = new Intent(Singin.this, Singup.class);
        startActivity(intent);

    }
    public void Textos (){

        Intent intent = new Intent(Singin.this, Textos.class);
        startActivity(intent);

    }

    @Override
    public void onClick(View v) {
        signIn();
    }
}
Registro

Code: Select all

public class Singup extends AppCompatActivity implements View.OnClickListener {
    private TextView txtLogin;
    private EditText txtName, txtEmail, txtPassword, txtPasswordConfirm;
    private Button btnSignup;
    private FirebaseAuth mAuth;
    private ProgressDialog progressDialog;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_singup);

        mAuth = FirebaseAuth.getInstance();

        txtLogin=(TextView) findViewById(R.id.link_login);
        txtName=(EditText) findViewById(R.id.txtName);
        txtEmail=(EditText) findViewById(R.id.txtEmail);
        txtPassword=(EditText) findViewById(R.id.txtPassword);
        txtPasswordConfirm=(EditText) findViewById(R.id.txtPasswordConfirm);
        btnSignup=(Button) findViewById(R.id.btnSignup);

        progressDialog = new ProgressDialog(this);

        btnSignup.setOnClickListener(this);
    }

    private void registrar() {
        String name= txtName.getText().toString().trim();
        String email= txtEmail.getText().toString().trim();
        String password=txtPassword.getText().toString().trim();
        String confirmation= txtPasswordConfirm.getText().toString().trim();

        if(TextUtils.isEmpty(name)){
            Toast.makeText(this,"Se debe ingresar un nombre",Toast.LENGTH_LONG).show();
            return;
        }

        if(TextUtils.isEmpty(email)){
            Toast.makeText(this,"Se debe ingresar un email",Toast.LENGTH_LONG).show();
            return;
        }

        if(TextUtils.isEmpty(password)){
            Toast.makeText(this,"Se debe ingresar una contraseña",Toast.LENGTH_LONG).show();
            return;
        }

        if(TextUtils.isEmpty(confirmation)){
            Toast.makeText(this,"Se debe verificar la contraseña",Toast.LENGTH_LONG).show();
            return;
        }

        while(!password.equals(confirmation)){
            Toast.makeText(this,"Las contraseñas no coinciden",Toast.LENGTH_LONG).show();
            return;
        }

        progressDialog.setMessage("Realizando registro en linea...");
        progressDialog.show();

        mAuth.createUserWithEmailAndPassword(email, password)
                .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        //checking if success
                        if(task.isSuccessful()){

                            Toast.makeText(Singup.this,"Se ha registrado el usuario con el email: "+ txtEmail.getText(),Toast.LENGTH_LONG).show();
                            CreateTextos();
                        }else{

                            Toast.makeText(Singup.this,"No se pudo registrar el usuario ",Toast.LENGTH_LONG).show();
                        }
                        progressDialog.dismiss();
                    }
                });

    }

    public void Login (View view){

        Intent intent = new Intent(Singup.this, Singin.class);
        startActivity(intent);

    }
    public void CreateTextos (){

        Intent intent = new Intent(Singup.this, Textos.class);
        startActivity(intent);

    }

    @Override
    public void onClick(View v) {
        registrar();
    }
}

Grafica Burndown
Image

Gradle
Image

User avatar
CathyLec
Posts: 13
Joined: Thu Jul 26, 2018 12:11 pm

Re: Ekri

Post by CathyLec » Thu Oct 11, 2018 11:46 am

Sprint 11
Fecha inicio: 02 de octubre
Fecha fin: 09 de octubre
¿Que se hizo?
-Correccion actualizacion de personaje, textos, notas y cronologia 10
¿Que se hara?
-Correccion actualizacion de personaje, cronologia 5
¿Que problemas hubo?
- Por motivos personales no tuve mi computador 4 dias de la semana
evidencia

Cdigo de actualizacion notas

Code: Select all

private void showUpdateDeleteDialog(final String notaId, String lugarTitulo){

        AlertDialog.Builder dialogBuilder = new  AlertDialog.Builder(this);
        LayoutInflater inflater = getLayoutInflater();
        final View dialogView = inflater.inflate(R.layout.update_nota,null);
        dialogBuilder.setView(dialogView);

        final EditText txtTitulo = (EditText) dialogView.findViewById(R.id.txtTitulo);
        final EditText txtImportancia = (EditText) dialogView.findViewById(R.id.txtImportancia);
        final EditText txtTexto = (EditText) dialogView.findViewById(R.id.txtTexto);

        final Button btnUpdate = (Button) dialogView.findViewById(R.id.btnUpdate);
        final Button btnDelete = (Button) dialogView.findViewById(R.id.btnDelete);

        dialogBuilder.setTitle(lugarTitulo);
        final AlertDialog b = dialogBuilder.create();
        b.show();

        btnUpdate.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String titulo = txtTitulo.getText().toString();
                String importancia = txtImportancia.getText().toString();
                String texto = txtTexto.getText().toString();

                if(!TextUtils.isEmpty(titulo) && !TextUtils.isEmpty(importancia)){
                    updateNotas(notaId,titulo,texto, Integer.parseInt(importancia));
                    b.dismiss();
                }else {
                    if(!TextUtils.isEmpty(titulo)) {
                        updateNotas(notaId, titulo, texto, 0);
                        b.dismiss();
                    }
                }

            }
        });

        btnDelete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                deleteNotas(notaId);
                b.dismiss();

            }
        });
    }

    public boolean updateNotas(String id,String titulo, String texto, int importancia){

        DatabaseReference dR = FirebaseDatabase.getInstance().getReference("notas").child(libros.getListaLibros().get(libros.getLibroSeleccionado()).getId()).child(id);
        Nota nota = new Nota(titulo, texto,importancia);
        nota.setId(id);
        dR.setValue(nota);
        Toast.makeText(this, "Se altero de forma PREMANENTE la nota", Toast.LENGTH_SHORT).show();
        return true;
    }

    private boolean deleteNotas(String id){
        DatabaseReference dR = FirebaseDatabase.getInstance().getReference("notas").child(libros.getListaLibros().get(libros.getLibroSeleccionado()).getId()).child(id);
        dR.removeValue();
        Toast.makeText(this, "Se elimino de forma PREMANENTE la nota", Toast.LENGTH_SHORT).show();
        return true;
    }
Burndown
Image

diagrama casos de uso

Image

diagrama de flujo

Image

diagrama de secuencia

Image

Post Reply