A modern, full-stack expense tracking application built with React Native, Expo, and Express.js. Track your spending, manage transactions, and take control of your finances with an intuitive mobile interface.
Experience the sleek purple and pink gradient UI of Trackify's mobile application
- Real-time Transaction Tracking – Log and monitor your expenses instantly
- Balance Overview – View your current balance with an attractive card interface
- Secure Authentication – Powered by Clerk for secure user management
- Responsive Mobile UI – Beautiful gradient design optimized for all screen sizes
- Transaction History – Browse and manage your past transactions
- Cross-platform Support – Works seamlessly on iOS and Android via Expo
- Rate Limiting & Security – Backend protection with Upstash rate limiting
- Database Powered – Serverless PostgreSQL with Neon for reliable data storage
-
Clone the repository
git clone https://github.com/yourusername/trackify.git cd trackify #Backend Setup cd backend npm install
Create a
.envfile in the backend directory:DATABASE_URL=your_neon_database_url UPSTASH_REDIS_REST_URL=your_upstash_redis_url UPSTASH_REDIS_REST_TOKEN=your_upstash_token PORT=3000
- Express.js – Fast, unopinionated web framework
- Neon – Serverless PostgreSQL database
- Upstash – Serverless Redis for rate limiting
- Clerk – Authentication & user management
- Node-cron – Scheduled tasks
- React Native – Cross-platform mobile framework
- Expo – Rapid development platform
- Expo Router – File-based routing
- React Navigation – Tab-based navigation
- Clerk Expo – Mobile authentication
- Reanimated – Smooth animations
- TypeScript – Type safety
Trackify uses Clerk for secure authentication. Users can sign up, log in, and manage their account with industry-standard security practices.
EXPO_PUBLIC_CLERK_PUBLISHABLE_KEYCLERK_API_KEY(backend)
sequenceDiagram
participant User
participant Mobile as Mobile App
participant Backend as Express API
participant DB as MongoDB
User->>Mobile: Add Transaction
Mobile->>Backend: POST /api/transactions
Backend->>DB: Insert Transaction
DB-->>Backend: Success
Backend-->>Mobile: Transaction Created
Mobile-->>User: Update Balance
User->>Mobile: View Transactions
Mobile->>Backend: GET /api/transactions
Backend->>DB: Query Transactions
DB-->>Backend: Return Data
Backend-->>Mobile: JSON Response
Mobile-->>User: Display List
stateDiagram-v2
[*] --> Guest
Guest --> SignUp: Create Account
Guest --> Login: Existing User
SignUp --> Clerk: Validate Email
Login --> Clerk: Verify Credentials
Clerk --> Authenticated: Token Generated
Authenticated --> App: Access Granted
App --> Authenticated: Stay Logged In
Authenticated --> Guest: Sign Out
Guest --> [*]
Contributions are welcome;steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License – see the LICENSE file for details.
- Budget planning and alerts
- Expense categorization with charts
- Receipt image scanning
- Multi-currency support
- Cloud backup and sync
- Bill splitting feature
- Dark mode toggle
- Offline transaction queuing
