{"id":26715530,"url":"https://github.com/boysimon10/cheeseflow-mobile","last_synced_at":"2026-04-12T13:42:27.483Z","repository":{"id":284629943,"uuid":"945000781","full_name":"boysimon10/cheeseflow-mobile","owner":"boysimon10","description":"🧀💸 Personal finance app with React Native (Expo), Tamagui, Apollo Client, and Zustand to track income, expenses, and generate reports.","archived":false,"fork":false,"pushed_at":"2025-06-29T20:12:52.000Z","size":8022,"stargazers_count":5,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-29T21:23:29.533Z","etag":null,"topics":["apollo-client","expo","expo-router","graphql","react-native","tamagui","zustand"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/boysimon10.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-08T12:28:18.000Z","updated_at":"2025-06-29T20:12:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"f2252cc2-7ca5-4cec-a0f4-b4ab12f1a677","html_url":"https://github.com/boysimon10/cheeseflow-mobile","commit_stats":null,"previous_names":["boysimon10/cheeseflow-mobile"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/boysimon10/cheeseflow-mobile","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boysimon10%2Fcheeseflow-mobile","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boysimon10%2Fcheeseflow-mobile/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boysimon10%2Fcheeseflow-mobile/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boysimon10%2Fcheeseflow-mobile/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boysimon10","download_url":"https://codeload.github.com/boysimon10/cheeseflow-mobile/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boysimon10%2Fcheeseflow-mobile/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263826251,"owners_count":23516750,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apollo-client","expo","expo-router","graphql","react-native","tamagui","zustand"],"created_at":"2025-03-27T14:25:40.877Z","updated_at":"2026-04-12T13:42:22.461Z","avatar_url":"https://github.com/boysimon10.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🧀💸CheeseFlow Mobile App\n\n**CheeseFlow** is a personal finance mobile application built with **React Native (Expo)**, **Tamagui**, **Apollo Client**, and **Zustand**. It helps users easily **track income and expenses**, **organize transactions**, and **generate insightful reports** to better understand their financial health.\n\n## 🚀 Tech Stack\n\n- 📱 **React Native (Expo)** — for building a smooth cross-platform mobile app  \n- 🎨 **Tamagui** — for performant, styled UI components  \n- 🌐 **Apollo Client** — for interacting with a GraphQL backend  \n- 🧠 **Zustand** — for simple and powerful state management  \n\n## 🔗 Backend Repository\n\nThis mobile application is powered by a robust backend API built with NestJS, GraphQL, PostgreSQL, and TypeORM. The backend handles all business logic for tracking income, expenses, and generating reports.\n\n👉 [View CheeseFlow API Repository](https://github.com/boysimon10/cheeseflow-api)\n\n## 📱 Screenshots\n\n\u003cdiv style=\"display: flex; flex-direction: 'row';\"\u003e\n  \u003cimg src=\"docs/1.png\" alt=\"Page d'accueil\" width=25% /\u003e\n  \u003cimg src=\"docs/2.png\" alt=\"Liste des transactions\" width=25% /\u003e\n  \u003cimg src=\"docs/3.png\" alt=\"Rapports\" width=25% /\u003e\n  \u003cimg src=\"docs/4.png\" alt=\"Rapports\" width=25% /\u003e\n  \u003cimg src=\"docs/5.png\" alt=\"Rapports\" width=25% /\u003e\n  \u003cimg src=\"docs/6.png\" alt=\"Rapports\" width=25% /\u003e\n  \u003cimg src=\"docs/7.png\" alt=\"Rapports\" width=25% /\u003e\n  \u003cimg src=\"docs/8.png\" alt=\"Rapports\" width=25% /\u003e\n  \u003cimg src=\"docs/9.png\" alt=\"Rapports\" width=25% /\u003e\n  \u003cimg src=\"docs/10.png\" alt=\"Rapports\" width=25% /\u003e\n  \u003cimg src=\"docs/11.png\" alt=\"Rapports\" width=25% /\u003e\n\u003c/div\u003e\n\n## 📲 Features\n\n- **Secure Authentication**  \n  Robust authentication system with JWT tokens and secure session management.\n\n- **Add Transactions**  \n  Log income and expenses with category, amount, date, and notes. Support for multiple currencies and custom categories.\n\n- **Track Balance**  \n  See your total balance updated in real-time with detailed breakdown by account and currency.\n\n- **Monthly Overview**  \n  Get a breakdown of how much you're spending or earning month-by-month with interactive charts and trends analysis.\n\n- **Category Reports**  \n  Visualize your transactions grouped by category with detailed statistics and spending patterns.\n\n- **Smart Analytics**  \n  Get insights about your spending habits and recommendations for better financial management.\n\n- **Lightweight \u0026 Fast**  \n  Designed with performance and simplicity in mind using Tamagui and Zustand.\n\n## 🧠 What I Learned\n\n- **State Management with Zustand**  \n  Built a clean store architecture for global state handling with optimized re-renders and persistent storage.\n\n- **GraphQL with Apollo Client**  \n  Learned how to fetch, mutate, and cache data effectively with proper error handling and offline support.\n\n- **Design Systems with Tamagui**  \n  Created a consistent and scalable UI with styled components and tokens, implementing responsive layouts and animations.\n\n- **TypeScript Best Practices**  \n  Leveraged TypeScript for type-safe development with custom types and interfaces.\n\n## 🔮 Future Improvements\n\n- 🌙 Add dark mode and theme customization\n- 🔒 Implement authentication and sync with cloud backend\n- 🧾 Export reports as PDF or CSV\n- 🔔 Add spending limit notifications\n- 💳 Add debt tracking and management\n- 📈 Add debt repayment planning and scheduling\n- 📅 Add subscription management and recurring payments\n\n## 🛠️ Running the App Locally\n\n\u003e ⚠️ **Important**: This mobile app requires the CheeseFlow backend API to be running. Please follow these steps in order:\n\n1. **Set up the Backend first**\n   - Clone and configure the backend repository from [CheeseFlow Backend Repository](https://github.com/boysimon10/cheeseflow-api)\n   - Follow the backend setup instructions in its README\n   - Make sure the backend server is running before starting the mobile app\n\n2. **Clone the repository**  \n   ```bash\n   git clone https://github.com/boysimon10/cheeseflow-mobile.git\n   cd cheeseflow\n   ```\n\n2. **Install dependencies**  \n   ```bash\n   npm install\n   # or\n   yarn install\n   ```\n\n3. **Start the development server**  \n   ```bash\n   npx expo start\n   ```\n\n4. **Open on your device**  \n   Scan the QR code with the **Expo Go app** (available on iOS and Android) or run it on an emulator.\n\n## 🤝 Contributing\n\nContributions are welcome! Feel free to:\n\n1. Fork the project\n2. Create a feature branch\n3. Commit your changes\n4. Push to the branch\n5. Open a Pull Request","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboysimon10%2Fcheeseflow-mobile","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboysimon10%2Fcheeseflow-mobile","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboysimon10%2Fcheeseflow-mobile/lists"}