4. Solution Strategy
4.1. Technical 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
| 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
| 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. |