Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Consider Caching with the RERUM API and/or MongoDB Atlas

Abierto
#224 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

  • #225 de @thehabes — cerrado sin fusionar

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
express, javascript, mongodb, nodejs

Línea de trabajo

Comienza con el repositorio rerum_server_nodejs y la documentación de la API de desarrollo; después, inspecciona los handlers de /query, /search, /search/phrase y /id. Compara las lecturas repetidas con MongoDB Atlas y define cómo se deben invalidar los resultados almacenados en caché cuando cambien los datos. Se considera terminado cuando las lecturas indicadas utilizan una caché en memoria dentro de la aplicación Node.js Express, sin Redis ni otra biblioteca de caché externa.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Design and implement a caching layer using the following information.

Use Case
The RERUM API is a NodeJS Express app that receives incoming requests from client applications on the internet. It is designed as a RESTful CRUD API for linked data on the web, which a JSON database is well suited for. As such the API uses a MongoDB Atlas cloud instance to store the JSON data.

The API is used by many client application. Some of those applications are localhost applications running on a users desktop. Some are web applications that all use the RERUM API and share RERUM’s MongoDB Atlas database. Data is specifically attributed to applications so that their data is identifiable individually as per-application.

Reasons this Use Case should use a caching layer
Applications are consistently performing /query, /search, /search/phrase, and /id requests for data, especially data that has been recently created or updated. That API processes these requests through to the MongoDB Atlas instance, receives the response, then sends that response back to the client application that used the endpoint.

Relevant Technology Documentation
The development version of the RERUM API is hosted at https://devstore.rerum.io/v1/api and you can find the API docus at https://devstore.rerum.io/v1/API.html. You can find the code at https://github.com/CenterForDigitalHumanities/rerum_server_nodejs.

Note that only registered applications using a Bearer token can write with the RERUM API directly. However, a RERUM Sandbox API exists with the following endpoints you can use without any set up if you want to learn a little about how it works.

You can read from RERUM already. Here is the endpoint

You can also search through Annotation oriented data for text in the Annotation bodies. Just provide the text to search for using one of the following endpoints

All data has a URI using the object _id. Those URIs resolve. Here is one.

The MongoDB Atlas cloud instance is MongoDB 8.2.1. The MongoDB Atlas docs can be found at https://www.mongodb.com/docs/manual/. Search indexes have been applied for the /search and /search/phrase endpoints.

Implementation Desires
Do not use Redis or any other such caching library. Use an in-memory caching solution that works locally within the Node.js Express application without external dependencies.

Lenguaje dominante
JavaScript
Estrellas
3
Forks
6
Merge medio
4 d 9 h
PR fusionados (30 d)
5

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de CenterForDigitalHumanities/rerum_server_nodejs

Todos los issues de CenterForDigitalHumanities/rerum_server_nodejs

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.