/cofi

☕ Brew-tifully crafted app for coffee enthusiasts – because life is too short for bad coffee and messy repositories!

Primary LanguageTypeScript

☕ Cofi: a brew-tiful app

Cofi is a simple app to help you get a nice cup during those sleepy mornings or calm afternoons. A routine is good, but exploring is best, and Cofi can be your companion on both, by allowing you to follow the same steps every time you make your favorite recipe, while also allowing you to explore and save a variety of alternatives, for all the brewing methods you want.

Technical Description

I built Cofi because I wanted some reminders on what the right steps were to get a good cup and also to play some more with my preferred tech stack at the moment.

Cofi is built on top of Expo and React Native and relies on some popular libraries for its core: React Navigation, Tanstack Query and Shopify's Restyle.

Architecture

The architecture of this app is inspired by Zalecki's Elegant Frontend Architecture and aligns with my preferred way to structure big-ish React Native codebases, with Colocation as a guiding principle.

Through services/ we can create powerful abstractions that mean our app is much more flexible when it comes to changes in dependencies and that features can truly be abstracted away from the details of a particular library or SDK. Eventually, this can also be used to keep platform-specific logic at bay too, by encapsulating all details specific to a particular OS inside them.

The features/ folder allows building hooks and components in a way that makes them easily shareable while still keeping coupling low by grouping them.

Credit

This app is built on a couple of super powerful resources: