MoneyWise is a modern financial management application designed to help individuals and families track, analyze, and optimize their finances effectively. With a focus on user experience and powerful features, MoneyWise makes managing money easy and intuitive.
Visit MoneyWise here! https://money-wise-cyan.vercel.app/
- Track income, expenses, and balances.
- Manage personal and family finances with seamless mode switching.
- Analyze financial data with visual insights using bar and pie charts.
- User-friendly UI powered by Tailwind CSS.
- Real-time data synchronization with React-Query.
- Next.js 14 - A framework for building fast, server-rendered React applications.
- TypeScript - Ensures code reliability and maintainability.
- Prisma ORM - For seamless database integration and management.
- Tailwind CSS - For designing a modern, responsive user interface.
- React-Query - For efficient state management and real-time updates.
MoneyWise is constantly evolving to provide a better experience. Below are the planned improvements:
-
Auto-Update Balances
Automatically update balance, expense, and income fields upon adding a transaction. -
Transfer Feature
Introduce a "Transfers" feature to enable moving funds between accounts. Research best practices for implementation. -
Edit Transaction
Allow users to modify existing transactions for flexibility and accuracy. -
Bar Chart Improvement
Enhance the bar chart visuals for better data representation. -
Mobile UI Fixes
Adjust button positioning on mobile devices for a seamless experience. -
Picker Adjustments
Fix the out-of-bounds issue for emoji and date pickers. -
Future Feature: CSV Import
Enable importing transactions via CSV files for easier data migration. -
Sign-In Fix
Transition sign-in functionality from Clerk Development to production-ready settings. -
Family Mode
Expand Family Mode functionality for shared financial management. -
Bulk Delete
Add a feature to delete multiple transactions at once for easier data management. -
Percentage Difference
Display percentage differences in income/expenses from previous periods. -
Pie Chart Categorization
Introduce pie charts for categorizing transactions for improved data visualization.
Contributions are welcome! If you have ideas or want to fix a bug, feel free to open an issue or submit a pull request.
To run MoneyWise locally:
-
Navigate to the project directory:
cd moneywise
-
Install dependencies:
npm install
-
Configure Authentication:
MoneyWise uses Clerk for user authentication.
Set up your Clerk project and add the required Clerk environment variables to your.env.local
file and also add these lines:NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_ZGVjaWRpbmctY29kLTE3LmNsZXJrLmFjY291bnRzLmRldiQ NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/ NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/wizard CLERK_AFTER_SIGN_OUT_URL=/sign-in
-
Set up the database:
Find theschema.prisma
file configure it like so:datasource db { provider = "sqlite" url = env("file:./dev.db") }
Then, migrate the database schema:
npx prisma migrate dev
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser to view the app.