- Clone the repository
- Run
yarn
to install dependencies - Start development
- Run
yarn android
to start the app on Android
- Run
- Run
yarn lint
to lint the code- Biomejs is used for linting
- Using VSCode? Install the Biomejs extension for better linting experience
1.. Navigate to the backend/api
directory
2. Run npm i
to install dependencies
3. Run npm run start:dev
to start the server
yarn android
- Start the app on Androidyarn eas build
- Build the app for productionyarn eas update --channel preview
- Update the app for preview
- React Native: Frontend
- TypeScript: Language
- Expo: Development Environment
- Expo Router: Navigation
- Biomejs: Linting
- NestJS: Backend
- Google Cloud Functions + Google Gemini: OCR
- Github OAuth: Authentication
erDiagram
USER ||--o{ EXPENSE : has
EXPENSE ||--o{ CATEGORY : belongs_to
OCRSERVICE ||--o{ RECEIPT : scans
USER ||--o{ RECEIPT : uploads
RECEIPT ||--o{ EXPENSE : generates
graph LR
subgraph "Financial Management"
A[User] --> B[Expense]
B --> C[Category]
A --> D[Budget]
end
subgraph "OCR Bill Scanning"
E[OCRService] --> F[ScannedReceipt]
F --> G[ReceiptParser]
end
B --> F
- Basic syntax:
WWIZ-<issue number> <type>(<subject>): <message>
- Example:
WWIZ-1 feat(backend): Add user authentication
- Types:
feat
: New featurefix
: Bug fixdocs
: Documentationstyle
: Formattingrefactor
: Code change that doesn't affect the behaviortest
: Adding missing testschore
: Maintenance