Creación de una lista de tareas pendientes basada en web
Crea una sencilla lista de tareas para familiarizarte con las funciones básicas de IBM Cloud.
Objetivos
-
En esta guía de aprendizaje, aprenderá a crear un sitio web básico que interactúe con la base de datos IBM Cloud para leer y grabar datos.
El proyecto es una simple lista de tareas, en la que puedes ver una lista de notas. Puede añadir y suprimir notas. Cada una de las notas tiene una etiqueta y puede filtrar sus notas por etiqueta.
-
Para crear esta lista de tareas, tu aplicación debe poder leer y escribir en la base de datos. Para leer las tareas pendientes en orden "primero las más recientes" y filtrar por etiqueta, la base de datos debe tener algunos índices secundarios. Ahora, podemos crear todo eso.
Puede completar la guía de aprendizaje en menos de una hora. No supone ningún gasto adicional sobre su factura actual de IBM Cloudant (es gratis si tiene el plan IBM Cloudant Lite).
La máquina local es la que sirve al sitio web, por lo que no necesita otros servicios aparte de IBM Cloud.
Después de completarlo, usted tiene una comprensión básica de cómo las aplicaciones pueden interactuar con IBM Cloudant a través de un IBM Cloudant SDK (en este caso, NodeJS).
Antes de empezar
Necesitas los siguientes implementos para completar este tutorial:
- Una instancia de servicio de IBM Cloudant y algunas credenciales de servicio. Puede crear la instancia y las credenciales en el panel de control de IBM Cloudant siguiendo la guía de aprendizaje de Cómo empezar con IBM Cloudant. Asegúrese de anotar la APIKey y el URL cuando cree sus credenciales de servicio.
- Asegúrese de que tiene acceso a un terminal Mac o Linux™.
- Descargue Git.
- Descargue Node.js y npm.
Obtención del código
-
Abra el terminal.
-
Escriba el mandato siguiente:
git clone https://github.com/IBM-Cloud/todo-list.git cd todo-list
Preparar el entorno y ejecutar el sitio web
En este paso, debe instalar todas las dependencias de código y las variables de entorno que necesita para ejecutar el sitio web.
-
Asegúrese de que está en el directorio
todo-list
. -
En el terminal, ejecute el mandato siguiente:
npm install export CLOUDANT_APIKEY="<the_apikey_from_prerequisites>" export CLOUDANT_URL="https://<the_url_from_prerequisites>" npm run start
Cuando ejecuta este mandato por primera vez, el código detecta que no existe ninguna base de datos. El código crea una base de datos para usted con algunos índices (por fecha y por etiqueta) y algunos datos de muestra.
¡Echa un vistazo a tu sitio web!
Ahora, puede visitar el sitio web.
-
Desde el navegador, vaya a
https://localhost:8080
.Puedes ver tu lista de tareas pendientes con un par de elementos en ella:
caption-side=bottom" -
Añada o suprima notas, o bien puede filtrar por etiqueta pulsando una de las etiquetas.
Comprender el código
Creación de índices y bases de datos
El script de fondo (server.js
), al principio, intenta conectarse a la base de datos todo
utilizando el método getDatabaseInformation
. Si no la encuentra, intenta crearla utilizando el método putDatabase
.
Después de crear la base de datos todo
, crea dos índices utilizando el método postIndex
. El primero crea un índice en el campo de indicación de fecha y hora (la fecha de creación de la nota), para que pueda recuperar
todas las notas en orden cronológico inverso. El segundo índice está en la etiqueta y la indicación de fecha y hora, para que pueda filtrar por etiqueta y devolver una lista ordenada por fecha para un código conocido.
Utilizar la base de datos
El sistema frontal está utilizando la conocida infraestructura express para mostrar una página web y llamar a puntos finales de servicio en el programa de fondo cuando pulsa distintas acciones, como crear, suprimir y filtrar.
Por ejemplo, cuando la página web se carga por primera vez, llama al punto final GET /todolist
. El punto final GET /todolist
utiliza el método postFind
para consultar la base de datos para todos los documentos
(utilizando el índice creado después de la base de datos todo
) y, a continuación, ordena las notas por indicación de fecha y hora y las devuelve al frontal para su visualización.
El filtrado por etiqueta utiliza el mismo método postFind
, pero al utilizar el segundo índice, se crean y eliminan notas utilizando los métodos postDocument
y deleteDocument
.
Resumen
IBM Cloudant permite el desarrollo rápido de aplicaciones web, ya que su API HTTP está modelada por el SDK de Node.js y es fácil de integrar con su propio código. Puede crear una base de datos IBM Cloudant y añadir documentos JSON que modelen sus propios datos. Recuerde crear índices secundarios para ayudar a dar servicio a los patrones de acceso de consulta, para que el rendimiento de las consultas siga siendo rápido cuando crezca el volumen de datos.
Si no te apetece escribir JavaScript, disponemos de SDK para Java™, Python y Go, además de nuestra API HTTP. No lo olvide. El panel de control de IBM Cloudant es una gran manera de explorar las bases de datos, crear y modificar documentos, refinar el índice y consultar las habilidades.
Puede encontrar más recomendaciones en nuestro blog y en la documentación. Para obtener una guía de vídeo sobre IBM Cloudant y sus capacidades, consulte el curso en nuestro centro de aprendizaje.