Skip to content

Architectural Decision Record (ADR)

angelalvaigle edited this page Nov 1, 2024 · 4 revisions

ADR1: Use React for Frontend Development

This course provided the basis for our frontend development: Mern

ADR2: Use MongoDB for Database Management

ADR3: Use Node.js for Backend Development

ADR4: Adopt a Microservices Architecture

The following microservices will be essential to achieve the required functionality: User Service, Authentication Service, Question Generator Service, and Statistics Service. Additional services may also be integrated as needed.

ADR5: Image Storage Strategy

Three options were evaluated for storing images in our application:

  • Storing Wikidata URLs in MongoDB.
  • Storing the images directly in MongoDB.
  • Storing images on the application server and saving the image paths in MongoDB.

After careful consideration, we have selected the third option: storing images on the application server and maintaining the image paths in MongoDB. We believe this approach is more efficient and reduces our dependency on third-party services like Wikidata.