Skip to content

πŸ“Š Expense Tracker App – Log in with a magic link, manage transactions, view spending trends with charts, and update your profile. Built with Supabase & React Native for an academic project.

License

Notifications You must be signed in to change notification settings

victoriacheng15/cprg303-expense-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

59 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Expense Tracker App πŸ’°

A React Native mobile app powered by Supabase that helps users monitor spending with secure magic-link authentication. Developed as a school project to master real-world mobile development, this app includes:

  • πŸ” Passwordless Login: Secure magic-links via Supabase Auth
  • πŸ’Έ Transaction Tracking: Log and view last 10 expenses
  • πŸ“ˆ Data Visualization: Monthly/yearly spending charts
  • βš™οΈ Profile Management: Update names or delete accounts

πŸ›  Tech Stacks

TypeScript React Native Supabase GitHub Actions

Key Libraries

  • Auth: Supabase Magic Links
  • Database: Supabase PostgreSQL
  • Charts: React Native Chart Kit
  • State Management: React Context

DevOps with GitHub Actions

The project uses a GitHub Actions workflow to automatically check and fix code formatting using Biome when a pull request is made.

Format Workflow

The Format Workflow runs automatically when a pull request is created for the main branch, and it changes .tsx and .ts files. It makes sure the code stays clean and properly formatted.

Steps it does:

  • Checks out the pull request code.
  • Sets up Node.js version 20.
  • Installs project dependencies (using npm ci).
  • Runs the format script (using npm run format).
  • If any formatting changes happen, it automatically commits and pushes the changes back to the pull request.

Format Workflow

πŸ“Έ Screenshots

Click to see Landing Page

Before

Initial landing page design showing basic layout Initial signup page design with input fields and form layout

After

Final landing page design with improved layout and visuals
Click to see Dashboard Page

Before

Old dashboard showing a list of transactions Old dashboard with an 'add transaction' modal popup

After

Updated dashboard layout showing transaction summary New dashboard design with 'add transaction' modal open New dashboard showing a transaction item in detail New dashboard with 'edit transaction' modal open
Click to see Visualization Page

Before

Old visualization page with simple chart layout

After

New monthly spending visualization with bar chart New yearly spending visualization with line chart
Click to see Settings Page

Before

Old settings page with basic input form included danger zone for account deletion

After

Updated settings page prompting user to complete profile Settings page showing user input form fields Updated settings page with completed profile information

πŸŽ₯ Demo

Check out the video demo on YouTube:
πŸ‘‰ https://www.youtube.com/shorts/IUMmoQ-PHQc

About

πŸ“Š Expense Tracker App – Log in with a magic link, manage transactions, view spending trends with charts, and update your profile. Built with Supabase & React Native for an academic project.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •