- Track In and Out transactions categorized by accounts.
- Set a budget for each category by loading a CSV file with
category
,type
, andamount (budget)
. - Notify users of any action and alert them when they exceed their set budgets.
- Visualized summary of transactions by date and other criteria.
- Report generation with CSV export functionality.
- User authentication.
- Framework:
Next.js
- CSS Framework:
TailwindCSS
- CSV Export:
export-to-csv
- Parse CSv:
papaparse
- Database:
PostgreSQL
(supports SQLite in development) - Authentication:
Clerk.com
- Charting Library:
Recharts
Navigate to WalletApp.
Login: Use Gmail or GitHub to sign in.
- Load Your Budget:
- Use a CSV file with the format:
category
,type
, andamount
. - Download a sample CSV: TestData CSV to Load as Budget.
- Use a CSV file with the format:
- Track Transactions:
- Record each In and Out transaction as they occur.
- View Summary:
- Access data visualizations and budget notifications.
- Generate Reports:
- Create and download monthly or yearly reports in CSV format.
-
Clone the repository and install dependencies:
git clone <repository-link> cd walletapp npm install
-
Set Up the Database:
For development, use SQLite. Access prisma/schema.prisma and update the datasource:
datasource db {
provider = "sqlite"
url = "file:./dev.db"
}
For production, use PostgreSQL. Update DATABASE_URL in .env.local. Set Up Clerk Authentication:
Create a .env.local file in the root directory:
NEXT_CLERK_PUBLISHABLE_KEY=**************************************
CLERK_SECRET_KEY=************************************************
NEXT_CLERK_SIGN_IN_URL=/sign-in
NEXT_CLERK_SIGN_UP_URL=/sign-up
DATABASE_URL=<your-postgresql-database-url>
Run the Development Server:
npm run dev
Open http://localhost:3000 in your browser.
- Integration with Bank APIs for direct transaction tracking.
- Integration with Mobile Money (MoMo) APIs.
- Budget validation before payments to ensure users are aware of their budget status.