Track your payments and get monthly spending reports straight to your Discord server.
- Signup/login with JWT auth (stored in HttpOnly cookies)
- Add payments and track your total spending
- Get an automated monthly report in your Discord server via webhook
- All monetary values use BigDecimal — no floating point nonsense
Backend — Spring Boot, Spring Security, MySQL, Docker
Frontend — React
Infra — Render (backend), Aiven (MySQL)
Backend
docker run -p 8080:8080 \
-e DB_URL=jdbc:mysql://localhost:3306/yourdb \
-e DB_USERNAME=root \
-e DB_PASSWORD=yourpassword \
-e JWT_SECRET=yourbase64secret \
-e ALLOWED_ORIGINS=http://localhost:3000 \
scewdoosh/xpensetrackerFrontend
cd frontend/xpense
npm install
npm startCreate a .env file in frontend/xpense:
REACT_APP_API_URL=http://localhost:8080/api
- Go to your Discord server → Settings → Integrations → Webhooks
- Create a webhook and copy the URL
- Paste it in the app under the Discord Webhook section
- You'll get a spending summary on the 1st of every month
| Variable | Description |
|---|---|
| DB_URL | JDBC MySQL connection URL |
| DB_USERNAME | Database username |
| DB_PASSWORD | Database password |
| JWT_SECRET | Base64 encoded secret key |
| ALLOWED_ORIGINS | Frontend URL (CORS) |