feat: initial backend setup with Bun, Hono, and Drizzle ORM

- Added documentation for architecture and code plan
- Implemented database schema for users, expenses, settlements, and transactions
- Set up double-entry bookkeeping system with multi-currency support
- Configured Hono web framework with middleware
- Integrated Drizzle ORM for database operations
This commit is contained in:
2025-05-27 17:38:50 -04:00
parent de91da311f
commit 74b7ddf3d6
20 changed files with 1718 additions and 0 deletions

70
docs/features.md Normal file
View File

@@ -0,0 +1,70 @@
# Features
This document outlines the core features for the MVP of the Splitwisestyle application, focusing on essential expensesplitting functionality without groups or advanced integrations.
## 1. User & Account
* **Sign Up / Sign In**
* Email/password authentication (OAuth support in later releases)
* **Profile**
* Display name, email, profile photo
* Default currency, locale, time zone
* **Contacts**
* Add/remove contacts by email or invite link
* Accept or decline contact requests
## 2. Expense Tracking
* **Add Expense**
* Title, total amount, date/time
* Payer (single user)
* Participants & split rules (equal or custom share)
* Optional memo/notes
* Upload receipt image (optional)
* **Edit & Delete**
* Modify any field or remove an expense
## 3. Balances & Settlements
* **Realtime Balances**
* “You owe / you are owed” percontact and overall summaries
* **Settle Up**
* Record a payment against one or more open balances
* Mark balances as paid to zero them out
## 4. Activity Feed / Change Log
* Chronological feed of who added, edited, or settled each expense
* Timestamps and links back to the full expense details
## 5. Notifications & Reminders
* **Inapp / Push Alerts**
* New expense involving you
* Someone settles up with you
* **Email Summaries** (optional for v1)
* Daily or weekly digest of outstanding balances
## 6. Settings & Preferences
* **Currency & Formatting**
* Set default currency (singlecurrency MVP)
* Date and number formats (e.g. DD/MM/YYYY)
* **Notification Controls**
* Toggle which alerts you receive
---
*End of MVP Feature List for initial release.*