A Full Stack Mobile Expense Tracker built using React Native with Expo, Node.js, Clerk, PostgreSQL(Neon), and Redis.
Track your daily expenses, monitor your wallet balance, and manage your finances on the go - securely and in real time.
- π± Cross-Platform App: Built with React Native & Expo
- π Authentication: Signup & login with Clerk
- π© Email Verification: Secure 6-digit code flow before accessing the app
- π 5 Screens: Signup, Login, Verify Email, Home, and Create Transaction
- πΈ Expense Tracker: Add income or expenses and manage financial entries
- π Balance Updates: Live calculation of current balance based on transactions
- ποΈ Delete Transactions: Remove old entries with a single tap
- π Pull to Refresh: Classic refresh gesture implemented from scratch
- πͺ Logout Functionality: Easily switch accounts or sign out
- π§° Backend with Express: RESTful API connected to Neon-hosted Postgres
- β±οΈ Rate Limiting: Protect your API using Redis-based limiter
Built with React Native and powered by Expo, the mobile app provides a seamless and responsive user experience across both iOS and Android.
- React Native: Cross-platform mobile development.
- Expo: Simplifies React Native development and deployment.
- Expo Router: File-based routing and navigation.
- @clerk/clerk-expo: Authentication and user session management.
- @expo/vector-icons: Beautiful, consistent icon set.
- Custom Hooks & Components: Modular architecture for handling:
- Transactions
- Authentication
- Theming and UI elements
Built with Node.js and Express, this RESTful API is optimized for performance and scalability using PostgreSQL and Upstash Redis.
- Node.js: JavaScript runtime.
- Express.js: Minimal and flexible backend web framework.
- PostgreSQL: Persistent relational database for storing transactions.
- @neondatabase/serverless: Serverless Postgres driver for scalable DB access.
- dotenv: Secure environment variable management.
- Upstash Redis:
@upstash/redis
: Redis client for caching.@upstash/ratelimit
: Rate limiting to protect endpoints.
- cron: Scheduled background tasks (e.g., keep-alive pings).
- CORS: Secure cross-origin API access.