A modern, user-friendly mobile application for tracking personal expenses and income. Built with React Native and Expo.
- 💰 Track expenses and income with categories
- 📊 View financial summaries with balance, income, and expense totals
- 🗓️ Transaction history with ability to filter and search
- 🔍 Detailed transaction view with category icons
- 🌙 Beautiful UI design with smooth gradients and animations
- 👤 User authentication powered by Clerk
- Frontend: React Native, Expo Router
- Backend: Node.js, Express
- Database: PostgreSQL with Neon
- Authentication: Clerk
- Styling: React Native StyleSheet
- Icons: Ionicons
- UI Elements: Linear Gradient, Custom Components
- Node.js (v14 or later)
- npm or yarn
- Expo CLI
- PostgreSQL database
- Clone the repository
git clone https://github.com/yourusername/duoshop.git
cd duoshop- Install dependencies for mobile app
cd mobile
npm install- Install dependencies for backend
cd ../backend
npm install-
Configure environment variables
- Create a
.envfile in the backend directory - Create a
constants/API.jsfile in the mobile directory
- Create a
-
Start the backend server
cd backend
npm start- Start the Expo development server
cd mobile
npx expo startduoshop/
├── mobile/ # Mobile app (React Native/Expo)
│ ├── app/ # Main application code
│ │ ├── (root)/ # Root routes
│ │ │ ├── index.jsx # Home screen
│ │ │ ├── create.jsx # Create transaction screen
│ │ │ └── profile.jsx # User profile screen
│ │ └── hooks/ # Custom React hooks
│ ├── components/ # Reusable components
│ ├── constants/ # Constants and configuration
│ └── assets/ # Images, styles, and other assets
└── backend/ # Backend API
├── src/
│ ├── controllers/ # Route controllers
│ ├── routes/ # API routes
│ ├── config/ # Configuration files
│ └── models/ # Database models
├── .env # Environment variables
└── index.js # Entry point
GET /api/transactions/:userId- Get all transactions for a userGET /api/transactions/summary/:userId- Get summary statistics for userPOST /api/transactions- Create a new transactionDELETE /api/transactions/:id- Delete a transaction
- Your Name (github.com/yourusername)
This project is licensed under the MIT License - see the LICENSE file for details.
Created with ❤️ using React Native & Expo