https://github.com/benmukebo/wallet-app
Personal Finance Management Application to track expenses, monitor budgets, and visualize spending patterns across multiple accounts.
https://github.com/benmukebo/wallet-app
nextjs shadcn-ui supabase typescript
Last synced: 3 months ago
JSON representation
Personal Finance Management Application to track expenses, monitor budgets, and visualize spending patterns across multiple accounts.
- Host: GitHub
- URL: https://github.com/benmukebo/wallet-app
- Owner: BenMukebo
- Created: 2025-01-19T22:11:55.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-21T08:54:08.000Z (over 1 year ago)
- Last Synced: 2025-08-19T13:41:51.286Z (11 months ago)
- Topics: nextjs, shadcn-ui, supabase, typescript
- Language: TypeScript
- Homepage: https://wallet-app-bkm7.vercel.app
- Size: 626 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Wallet Web Application
Personal Finance Management Application
Track expenses, monitor budgets, and visualize spending patterns across multiple accounts.
## Overview
*Track multiple accounts in one place*

*Manage and categorize your transactions*

## Demo Access
Try out the application using these demo credentials:
```bash
Email: eric.test@gmail.com
Password: 123
```
**Note:** This is a demo account with sample data. For security reasons, please use your own credentials in production.
## Key Features
- 📊 **Multi-Account Management** - Track bank, mobile money, and cash accounts
- 📈 **Dynamic Reports** - Generate custom reports for any time period
- 💰 **Budget Tracking** - Set and monitor spending limits
- 🏷️ **Smart Categorization** - Organize transactions with categories and subcategories
- 📱 **Responsive Design** - Works seamlessly on desktop and mobile
- 📊 **Visual Analytics** - Beautiful charts and spending breakdowns
## Tech Stack
- **Framework:** Next.js 14, React
- **Styling:** Tailwind CSS
- **Database:** PostgreSQL
- **Authentication:** NextAuth.js
- **Deployment:** Vercel
## Database Schema
### Users
```sql
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(150) UNIQUE NOT NULL,
password_hash TEXT NOT NULL,
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);
```
### Accounts
```sql
CREATE TABLE accounts (
id SERIAL PRIMARY KEY,
user_id INT REFERENCES users(id) ON DELETE CASCADE,
name VARCHAR(100) NOT NULL,
balance DECIMAL(15, 2) DEFAULT 0.00,
account_type VARCHAR(50),
amount_limit DECIMAL(15, 2) NOT NULL,
start_date DATE NOT NULL,
end_date DATE NOT NULL,
is_active BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);
```
### Categories
```sql
CREATE TABLE categories (
id SERIAL PRIMARY KEY,
user_id INT REFERENCES users(id) ON DELETE CASCADE,
name VARCHAR(100) NOT NULL,
parent_id INT REFERENCES categories(id) ON DELETE SET NULL,
user_id INT REFERENCES users(id) ON DELETE SET NULL,
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);
```
### Transactions
```sql
CREATE TABLE transactions (
id SERIAL PRIMARY KEY,
user_id INT REFERENCES users(id) ON DELETE CASCADE,
account_id INT REFERENCES accounts(id) ON DELETE CASCADE,
category_id INT REFERENCES categories(id) ON DELETE SET NULL,
amount DECIMAL(15, 2) NOT NULL,
transaction_date TIMESTAMP DEFAULT NOW(),
description TEXT,
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);
```
## Quick Start
1. Clone the repository
```bash
git clone [REPO_URL]
```
2. Install dependencies
```bash
npm install
```
3. Configure environment variables
```bash
cp .env.example .env.local
```
4. Start the development server
```bash
npm run dev
```
## Live Demo
Check out the live demo at [DEPLOYMENT_URL]
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- Thanks to Code of Africa GmbH for the project requirements
- Built with [Next.js](https://nextjs.org/)
- Hosted on [Vercel](https://vercel.com)