- 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.






