4. Solution Strategy

A short summary and explanation of the fundamental decisions and solution strategies, that shape system architecture.

4.1. Technical Decisions

Table 4.1 Technology Decisions
ID Decision Motivation

TD-1

Use Next.js for the frontend

Next.js is a React framework that allows to build static websites. It has many features that make it a good choice for this project, like server-side rendering, image optimization, and edge caching.

TD-2

Use MongoDB for the database

MongoDB is a NoSQL database that lends itself well to the data model of this project. The data model is not very complex and the data is not relational, so a NoSQL database is a good choice.

4.2. Architectural Decisions

Table 4.2 Architectural Decisions
ID Decision Motivation

AD-1

Manage business logic and data access in API.

The scope of the project is small enough that it is not necessary to separate the business logic and data access into separate services. This also simplifies the deployment of the project.

4.3. Organizational Decisions

Table 4.3 Organization Decisions
ID Decision Motivation

OD-1

Use Manifold for burn/redeem.

Although presented as a constraint, this is also a good decision for the project. Manifold is a tried and true service that offers a simple burn/redeem page for collectors to use.