Composting Platform

Organic waste management platform with mobile app and backend API.

Overview

API (Fastify, Prisma, PostgreSQL) for farms and leira measurements; JWT auth and roles (USER, ADMIN, MASTER, DEV). Mobile app (Expo, React Native, Redux Toolkit, NativeWind) with offline storage (Expo SQLite) and automatic sync when online. Optional Google Sheets integration for Masters.

Problem

Field workers need to record compost measurements (temperature, humidity, smell, phase) often without reliable connectivity. Data must sync when back online and align with a central API and optional spreadsheets.

Solution

Backend: REST API with signup/signin, farms CRUD, measurements CRUD, and sync endpoints (upload/download). Mobile: login, dashboard, farms and measurements lists, create/edit measurements offline; auto-sync with conflict handling. Optional Google Sheets worksheet per Master for reporting.

Tech Stack

ExpoReact NativeRedux ToolkitRedux PersistNativeWindExpo SQLiteFastifyPrismaPostgreSQLJWTZodGoogle Sheets APISentry

Architecture

Backend: use-cases (auth, farms, measurements, sync), repositories, controllers, JWT plugin. Mobile: Expo Router tabs, store slices (auth, farm, measurement, sync), SQLite repositories, sync service. See the architecture section for database model and diagrams.

View architecture

Screenshots

Screenshots from the real workflow. UI copy is in Portuguese because the first release was designed for a Brazilian audience (PT-BR).

Login

AGRO Compostagem mobile login mockup — dark theme
Login — dark theme
AGRO Compostagem mobile login mockup — light theme
Login — light theme

Dark theme

Dashboard mockup — dark theme
Dashboard
Management mockup — dark theme
Management
Measurements list mockup — dark theme
Measurements
New measurement (USER) mockup — dark theme
New measurement (USER)
Create farm (DEV) mockup — dark theme
Create farm (DEV)
Create leiras (DEV) mockup — dark theme
Create leiras (DEV)
Create user (MASTER) mockup — dark theme
Create user (MASTER)

Light theme

Dashboard mockup — light theme
Dashboard
Management mockup — light theme
Management
Measurements list mockup — light theme
Measurements
New measurement (USER) mockup — light theme
New measurement (USER)
Create farm (DEV) mockup — light theme
Create farm (DEV)
Create leiras (DEV) mockup — light theme
Create leiras (DEV)
Create user (MASTER) mockup — light theme
Create user (MASTER)