Code Monkey home page Code Monkey logo

ssbw-mii's Introduction

Sistemas Software Basados en Web

Repositorio para la asignatura "Sistemas Software Basados en Web" del Máster en Ingeniería Informática de la UGR.

Realizado por José Alberto Gómez García durante el curso 2022/2023.

ssbw-mii's People

Contributors

modejota avatar

Watchers

 avatar

ssbw-mii's Issues

Tarea 0. Creación del entorno de desarrollo.

En el marco de la tarea 0, montaremos el entorno de desarrollo que utilizaremos para el proyecto de la asignatura. En particular:

  • Crearemos imagen de Docker para la aplicación.
  • Crearemos docker-compose (aunque por ahora sólo tenemos un contenedor)
  • Crearemos fichero de requisitos.
  • Añadiremos gestor de tareas básico (*)
  • Crearemos proyecto de Django y realizaremos configuración mínima.

Tarea 2. Creación del buscador

Añadir un modelo de Mongoengine para representar los libros. Crear los templates básicos (base y buscador), añadir el método para realizar las búsquedas en sí mismas.

Tarea 7. Intro REACT

En esta tarea aparentemente vamos a realizar una pequeña introducción a REACT. Por lo visto, es un tanto de entrenamiento y toma de contacto, y aún no se va a desarrollar la UI/UX propia de la aplicación de la librería.

Tarea 6. API RESTFUL

Creación de una API RESTFUL haciendo uso del plugin de Django que facilita esta tarea y el modelo basado en clases en lugar de funciones.

Tarea 1. Base de datos NoSQL

En el marco de la tarea 1, incluiremos una base de datos no relacional (MongoDB) como contenedor Docker en el clúster y la rellenaremos con algunos datos de prueba haciendo uso de mongoengine. Opcionalmente, haremos un script con las utilidades de backup y restore de la base de datos.

Hacer mi propio método de login

Crear un método de login propio para poder impedir que un usuario logueado se vuelva a loguear, al estilo de lo que hacía con el registro.

Tarea 5. Modo nocturno

Poner un control para un modo oscuro, el cómo hacerlo ya es un tanto por nuestra cuenta, podríamos hacerlo con puro CSS o vía JS. Aparentemente hay una versión de Bootstrap nocturna y sería conveniente chequear como funciona y alternarla con la versión clara.

Tarea 3. Páginas para CRUD

A partir de la tabla de resultados, poner en ella un botón para ver los detalles de un libro.
En esa página deberá haber opción de modificación y edición (esta última con un modal)
Presumiblemente en la página de la tabla de resultados, habrá que poner un botón para añadir entradas.

(Aún no hay página dedicada para el buscador)

Tarea 4. Registro de señales.

Hacer uso del logger de la tarea anterior y de las signals de Django para loguear cuando un usuario inicia sesión, la cierra o se registra.

Tarea 5. Búsqueda reactiva

Se pretende que la barra de búsqueda no sea un formulario al uso que fuerza a un reenvío completo de la página por parte del servidor. Haciendo uso de JS, cada vez que se escriba en la barra de búsqueda se actualizará el contenido de la búsqueda (pidiéndolo al servidor).

En el contexto de páginas como la de añadir o editar libros no se ha dicho nada, así que dejaré el formulario como en las anteriores prácticas para dicha casuística.

Tarea 2. Configuración básica de Django

Realizar la creación de la aplicación de la librería, la configuración básica de los ajustes dentro del proyecto y la creación de una página web para el buscador de libros.

Tarea 3. Incorporar logger

Incorporar un sistema de logging al usuario, de manera que tengamos un registro de lo que sucede en la aplicación. (Búsquedas realizadas, intentos de inserción, modificación y eliminación, etc). Parte de este se podrá ver reflejado en un fichero, y todo en consola.

Tarea 1 Opcional. Backup y restore.

Hacer script con las utilidades de backup y restore de la base de datos. Estaría bien parametrizarlo para que el usuario pueda indicar el nombre del fichero donde desea guardar y desde el que desea recuperar.
También hay que solucionar el problema de que no puede restaurar el _id autogenerado de mongodb original, puede que no sea muy problemático, así que no me preocupa mucho.

Tarea 9. Paso a producción.

En esta tarea pondremos en producción el proyecto desarrollado. Concretamente, modificaremos la configuración de Django y expondremos la mini-aplicación de la tarea 7.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.