https://github.com/mk-2206/finwise-app
The ultimate financial companion for content creators, influencers, and digital entrepreneurs.
https://github.com/mk-2206/finwise-app
app banking chart finance gamified h2database heroku java maven spring-boot
Last synced: about 2 months ago
JSON representation
The ultimate financial companion for content creators, influencers, and digital entrepreneurs.
- Host: GitHub
- URL: https://github.com/mk-2206/finwise-app
- Owner: MK-2206
- Created: 2025-06-16T18:15:36.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-06-16T21:00:21.000Z (12 months ago)
- Last Synced: 2025-06-29T11:05:52.587Z (12 months ago)
- Topics: app, banking, chart, finance, gamified, h2database, heroku, java, maven, spring-boot
- Language: HTML
- Homepage: https://finwise-springboot-app-665d5dc86747.herokuapp.com/
- Size: 4.38 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐ธ FinWise - Creator Banking Application
> **A Spring Boot-based financial management platform with gamified UI, designed specifically for content creators, freelancers, and digital entrepreneurs.**
[](https://finwise-springboot-app-665d5dc86747.herokuapp.com)
[](https://github.com/MK-2206/FINWISE-APP/stargazers)
[](https://spring.io/projects/spring-boot)
[](https://openjdk.org/)
[](LICENSE)
**Visit the [live demo](https://finwise-springboot-app-665d5dc86747.herokuapp.com) to see the full interface!**
---
## ๐ฏ What is FinWise?
FinWise is a full-stack banking application that transforms chaotic creator finances into an organized, gamified experience. Built with Spring Boot backend and modern frontend technologies, it's designed for content creators who juggle multiple income streams and irregular earnings.
### โจ **Why FinWise?**
- ๐ณ **Professional Banking Features** - Account management with real database persistence
- ๐ **Creator-Focused Analytics** - Track income streams, expenses, and financial goals
- ๐ฎ **Gamified Experience** - Level up system and achievement unlocks
- ๐ก **Smart Financial Tools** - Tax calculators, investment analyzers, brand deal evaluators
- ๐ **Real-time Updates** - Live financial summaries and progress tracking
---
## ๐ Features
### ๐ฐ **Core Banking Operations**
- **Account Management** - Create accounts with initial balances
- **Deposit & Withdraw** - Real-time balance updates via REST API
- **Transaction History** - Complete audit trail of all financial activities
- **Multi-Account Support** - Separate business and personal accounts
### ๐ **Creator Analytics Dashboard**
- **Income Tracking** - Multiple revenue streams (sponsorships, ad revenue, merchandise)
- **Expense Categorization** - Creator-specific expense categories
- **Financial Summary Cards** - Real-time profit/loss calculations
- **Chart.js Visualizations** - Beautiful charts for income trends
### ๐ฏ **Creator-Specific Tools**
- **Investment Calculator** - ROI analysis for equipment, courses, trips
- **Tax Estimator** - Quarterly tax calculations for freelancers
- **Brand Deal Calculator** - Evaluate sponsorship opportunities
- **Creator Goals** - Visual progress tracking with animated bars
### ๐ฎ **Gamification System**
- **XP & Leveling** - Earn experience points for financial activities
- **Creator Ranks** - Progress from "Rising Creator" to "Creator Master"
- **Achievement Badges** - Unlock milestones as you grow
- **Progress Celebrations** - Confetti animations and motivational messages
---
## ๐ Tech Stack
| Backend | Database | Frontend | Build Tool | Deployment |
|---------|----------|----------|------------|------------|
|  |  |  |  |  |
|  |  |  |  |  |
### Architecture Overview
- **Backend**: Spring Boot REST API with Java 17
- **Database**: H2 in-memory (development) / PostgreSQL (production)
- **ORM**: Spring Data JPA with Hibernate
- **Frontend**: Vanilla JavaScript with Chart.js for analytics
- **Styling**: Custom CSS with glassmorphism design patterns
- **Build**: Maven for dependency management
- **Deployment**: Heroku with PostgreSQL add-on
---
## ๐งช Quick Start
### Prerequisites
- **Java 17+** (for Spring Boot backend)
- **Maven 3.6+** (for dependency management)
### Local Setup Instructions
1. **Clone the repository**
```bash
git clone https://github.com/MK-2206/FINWISE-APP.git
cd FINWISE-APP
```
2. **Run using Maven**
```bash
# Using Maven wrapper (recommended)
./mvnw spring-boot:run
# Or using installed Maven
mvn spring-boot:run
```
3. **Access the application**
```
๐ http://localhost:8080
```
4. **Or visit live demo**
```
๐ https://finwise-springboot-app-665d5dc86747.herokuapp.com
```
### First Time Setup
1. ๐ฆ Create your first account with initial balance
2. ๐ฐ Make some deposits to see the system in action
3. ๐ Explore the creator dashboard and analytics
4. ๐ฏ Set up financial goals and watch progress bars
5. ๐ Level up by completing financial activities!
---
## ๐ Project Structure
```
FINWISE-APP/
โโโ src/
โ โโโ main/
โ โ โโโ java/com/marcoslombog/mybank/
โ โ โ โโโ App.java # Main Spring Boot Application
โ โ โ โโโ controller/
โ โ โ โ โโโ AccountController.java # REST API endpoints
โ โ โ โโโ model/
โ โ โ โ โโโ Account.java # JPA Entity
โ โ โ โโโ repository/
โ โ โ โ โโโ AccountRepository.java # Data Access Layer
โ โ โ โโโ exception/
โ โ โ โโโ ResourceNotFoundException.java
โ โ โโโ resources/
โ โ โโโ application.properties # Spring Boot configuration
โ โ โโโ data.sql # Initial database setup
โ โ โโโ static/
โ โ โโโ index.html # Frontend application
โ โโโ test/
โ โโโ java/ # Unit tests
โโโ target/ # Compiled classes
โโโ pom.xml # Maven dependencies
โโโ README.md
```
---
## ๐งโ๐ป API Documentation
### REST Endpoints
| Method | Endpoint | Description | Request Body |
|--------|----------|-------------|--------------|
| `GET` | `/accounts/all` | List all accounts | - |
| `GET` | `/accounts/{id}` | Get account by ID | - |
| `POST` | `/accounts/new` | Create new account | `{"name": "John Doe", "balance": 1000.0}` |
| `PUT` | `/accounts/{id}` | Deposit/withdraw money | `amount` (double) |
### Example API Calls
```bash
# Get all accounts
curl -X GET http://localhost:8080/accounts/all
# Create new account
curl -X POST http://localhost:8080/accounts/new \
-H "Content-Type: application/json" \
-d '{"name": "Creator Account", "balance": 5000.0}'
# Deposit money
curl -X PUT http://localhost:8080/accounts/1?amount=500.0
```
---
## ๐ Frontend Features
### ๐จ **Modern UI Components**
- **Glassmorphism Design** - Frosted glass aesthetic with backdrop blur
- **Responsive Layout** - Works perfectly on desktop, tablet, and mobile
- **Dark Theme** - Easy on the eyes for late-night financial planning
- **Smooth Animations** - CSS transitions and JavaScript-powered effects
### ๐ **Financial Analytics**
- **Chart.js Integration** - Beautiful income and expense visualizations
- **Real-time Updates** - Data refreshes automatically via AJAX calls
- **Creator Metrics** - Specialized charts for creator economy insights
- **Goal Progress Bars** - Animated progress indicators
### ๐ฎ **Gamification Elements**
```javascript
// XP system that rewards financial activities
function updateXP(points) {
currentXP += points;
checkLevelUp();
updateProgressBar();
if (points > 50) createConfetti();
}
// Smart investment break-even analysis
function calculateBreakEven(cost, monthlyBoost) {
const months = cost / monthlyBoost;
const roi = (monthlyBoost * 12 / cost) * 100;
return { months, roi };
}
```
---
## โ๏ธ Deployment
### Heroku Deployment
The application is deployed on Heroku with the following configuration:
- **Web Application**: https://finwise-springboot-app-665d5dc86747.herokuapp.com
- **Database**: PostgreSQL add-on for production persistence
- **Build**: Automatic deployment from GitHub main branch
- **Environment**: Production profile with optimized settings
### Deployment Commands
```bash
# Deploy to Heroku
git push heroku main
# View logs
heroku logs --tail
# Check application status
heroku ps
```
---
## ๐ค Contributing
We welcome contributions! Here's how to get started:
### ๐ **Quick Contribution Guide**
1. **Fork** the repository
2. **Create** a feature branch: `git checkout -b feature/amazing-feature`
3. **Commit** your changes: `git commit -m 'Add amazing feature'`
4. **Push** to the branch: `git push origin feature/amazing-feature`
5. **Open** a Pull Request
## ๐ Achievements & Milestones
| Achievement | Description | Unlock Condition |
|-------------|-------------|------------------|
| ๐ฆ **Account Creator** | Create your first bank account | Create 1 account |
| ๐ฐ **First Deposit** | Make your first deposit | Add funds to account |
| ๐ **Analytics Explorer** | View financial dashboard | Access analytics page |
| ๐ฏ **Goal Setter** | Set your first financial goal | Create 1 goal |
| ๐ **Creator Level 5** | Reach Creator Master rank | Earn 2000+ XP |
| โ๏ธ **Smart Investor** | Use investment calculator | Calculate 1 ROI |
---
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
```
MIT License - Feel free to use, modify, and distribute!
Perfect for learning, portfolio projects, and commercial use.
```
---
## ๐ Acknowledgments
### ๐ซ **Built With Love By**
- **[MK-2206](https://github.com/MK-2206)** - Full-stack development, Spring Boot architecture, UI/UX design
---
### ๐ **Professional Creator Banking**
*"Transforming creator finances from chaos to success, one transaction at a time."*
**[โจ Try FinWise Now](https://finwise-springboot-app-665d5dc86747.herokuapp.com)** | **[๐ง Contribute](https://github.com/MK-2206/FINWISE-APP/blob/main/CONTRIBUTING.md)** | **[๐ API Docs](https://github.com/MK-2206/FINWISE-APP/wiki)**
---
**FinWise Banking ยฉ 2025** - Built with ๐ for the creator economy