ndukachukz/booknook-assessment — explained in plain English
Analysis updated 2026-05-18
Study how a mobile app can organize feature folders versus shared code
Learn how to auto-generate typed API hooks from an OpenAPI schema file
Reference the cart and checkout logic for a similar shopping app
See an example testing setup combining Jest unit tests and Storybook
| ndukachukz/booknook-assessment | 0xradioac7iv/tempfs | 7vignesh/pgpulse | |
|---|---|---|---|
| Stars | 0 | 0 | 0 |
| Language | TypeScript | TypeScript | TypeScript |
| Setup difficulty | moderate | moderate | moderate |
| Complexity | 3/5 | 3/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires running a local Wrangler backend server alongside the Expo dev server.
BookNook is a mobile bookstore app, built as a coding assessment for a mobile developer job application. It lets a user browse books, read reviews, add items to a shopping cart, and place orders, all built with Expo and React Native, the common toolset for building mobile apps for both iOS and Android from one codebase. The app talks to a backend API in a structured, type safe way. The entire set of available API endpoints, such as searching books or creating an order, is described in a single specification file, and typed helper functions are automatically generated from that file so the app always knows the exact shape of the data it is sending and receiving. During development, the app talks to a local test server running on the developer's own machine, and in production it would talk to a real hosted backend running on Cloudflare's Worker platform. The code is organized so that screens and reusable pieces are kept separate: route definitions are kept thin, feature specific screens and components live in their own folders (books, cart, home, library, profile, search), and small reusable pieces without business logic, such as loading and error states, live in a shared folder. Money values throughout the app are stored as whole numbers representing cents, rather than decimal dollars, to avoid rounding errors. The project includes unit tests for logic like the shopping cart and pricing, plus component tests for shared UI states, run through the Jest testing framework. There is also a Storybook setup for visually developing and reviewing individual components in isolation, separate from running the full app. This project is aimed at other developers, particularly as a demonstration of mobile app architecture and API design practices, rather than as a consumer facing product. Setting it up requires installing dependencies, generating the typed API client from the schema file, and running a local backend server alongside the Expo development server. No license is stated in the README.
A mobile bookstore demo app built with Expo and React Native, showing a type safe API layer, organized feature folders, and automated tests.
Mainly TypeScript. The stack also includes Expo, React Native, TypeScript.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
double-check against the repo, no cap.