Consider Caching with the RERUM API and/or MongoDB Atlas
Nessuno ha ancora preso questa issue.
- #225 di @thehabes — chiusa senza merge
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- express, javascript, mongodb, nodejs
- Ambito
- api, backend, databases, performance
Direzione di ricerca
Inizia dal repository rerum_server_nodejs e dalla documentazione dell’API di sviluppo, quindi esamina gli handler per /query, /search, /search/phrase e /id. Confronta le letture ripetute con MongoDB Atlas e definisci come invalidare i risultati memorizzati nella cache quando i dati cambiano. Il lavoro è completato quando le letture elencate utilizzano una cache in memoria all’interno dell’applicazione Node.js Express, senza Redis o un’altra libreria di caching esterna.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- JavaScript
- Stelle
- 3
- Fork
- 6
- Merge medio
- 4g 9h
- PR unite (30g)
- 5
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di CenterForDigitalHumanities/rerum_server_nodejs
-
bug documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
backend dependencies easy
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
CenterForDigitalHumanities/rerum_server_nodejs#290 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 50/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 74/100
Tutte le issue di CenterForDigitalHumanities/rerum_server_nodejs
Issue simili
-
factory-active factory-automatic harness/codex task-bug-reproduction-success task-identify-harness-labels-done task-identify-issue-type-done
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
vercel/ai#21582 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
ux
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
rr-djk/rr-djuikoo.com#53 ·
I maintainer di solito rispondono entro 1 giorno
-
Add shacl12-inference-rulesApertanew spec review
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
w3c/browser-specs#2666 · 1 commento ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
thim81/openapi-format#238 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
decentespresso/dye2#13 ·