Designed and Built From a Blank Repository
We owned the product end to end: the interface design, the Vue and Nuxt frontend, the Laravel API and data model, the admin panel, deployment and a year of iteration. More than 1,500 commits went into the two repositories between June 2020 and June 2021.
The API is built on Laravel Restify, our own open-source REST framework, which gave every resource (claims, arguments, comments, questions, answers, communities, projects, wiki articles, ranks, XP) a consistent, filterable JSON endpoint with policies and validation. Reputation runs on event sourcing: aggregates for claims, arguments, comments, answers and user experience record what happened, projectors build the read models, and ranks and leaderboards derive from them.
On the frontend, Nuxt provides server-side rendering with a response cache, a PWA manifest and service worker, i18n, a Tiptap rich-text editor for claims, arguments and wiki articles, Highcharts for the XP tracker and infinite-scrolling feeds. Media goes through Spatie Media Library to S3, and Sanctum issues the API tokens.