Skip to content

Latest commit

 

History

26 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Trackify

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.

📱 Preview

Trackify Mobile App Preview

Experience the sleek purple and pink gradient UI of Trackify's mobile application


Features

  • 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

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/trackify.git
    cd trackify
    #Backend Setup
    cd backend
    npm install

    Create a .env file 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

Tech Stack

Backend

  • Express.js – Fast, unopinionated web framework
  • Neon – Serverless PostgreSQL database
  • Upstash – Serverless Redis for rate limiting
  • Clerk – Authentication & user management
  • Node-cron – Scheduled tasks

Mobile

  • 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

Authentication

Trackify uses Clerk for secure authentication. Users can sign up, log in, and manage their account with industry-standard security practices.

Environment Variables Needed

  • EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY
  • CLERK_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
Loading

Authentication & Security Flow

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 --> [*]
Loading

Contributing

Contributions are welcome;steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License – see the LICENSE file for details.


Enhancements:

  • 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

About

An expense tracking application built with React Native, Expo, and Express.js, clerk auth

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages