Function Tracker is a React Native + Supabase application used to manage social functions, invitations, contributions, and return tracking.
Primary use case:
Tamil Nadu family functions such as:
- Marriage
- First Holy Communion
- House Warming
- Birthday
- Ear Piercing
- Other family functions
The application replaces traditional notebooks used to track cash and gold contributions received from relatives and friends.
The application manages two kinds of events:
Functions conducted by the user.
Examples:
- My Wedding
- My House Warming
- My Daughter's First Holy Communion
People attend and contribute:
- Cash
- Gold
These contributions are recorded.
Functions conducted by others.
Examples:
- Relative's Wedding
- Friend's House Warming
The user receives an invitation and wants to know:
- What did this person previously give me?
- What should I return?
Stores both MY_FUNCTION and INVITATION records.
| Column | Type |
|---|---|
| id | uuid |
| title | text |
| category_id | uuid |
| function_date | date |
| function_time | time |
| notes | text |
| status | text |
| created_at | timestamptz |
| updated_at | timestamptz |
| location_id | uuid |
| user_id | uuid |
| updated_by | uuid |
| reminder_minutes | integer |
| function_type | text |
MY_FUNCTION
INVITATION
functions.category_id → categories.id
functions.location_id → locations.id
Stores contribution records.
| Column | Type |
|---|---|
| id | uuid |
| function_id | uuid |
| place_id | uuid |
| family_name | text |
| person_name | text |
| spouse_name | text |
| contribution_type | text |
| amount | numeric |
| notes | text |
| direction | text |
| returned | boolean |
| user_id | uuid |
| created_at | timestamptz |
| returned_at | timestamptz |
| updated_by | uuid |
CASH
GOLD
RECEIVED
RETURNED
contributions.function_id → functions.id
contributions.place_id → locations.id
Function categories.
| Column | Type |
|---|---|
| id | uuid |
| name | text |
| tamilName | text |
| description | text |
| created_at | timestamptz |
| updated_at | timestamptz |
| user_id | uuid |
| updated_by | uuid |
Examples:
- Marriage
- First Holy Communion
- House Warming
- Birthday
Reusable location master table.
| Column | Type |
|---|---|
| id | uuid |
| name | text |
| tamil_name | text |
| created_at | timestamptz |
Examples:
English:
- Kurai Pettai
- Srimushnam
Tamil:
- குறைபெட்டை
- ஸ்ரீமுஷ்ணம்
Used for search and display.
Shows contributions where:
returned = false
and contribution originated from MY_FUNCTION history.
Purpose:
Person gave something to me.
I have not yet returned it.
Shows contributions where:
returned = true
and returned_at is populated.
Purpose:
Historical audit of returned contributions.
Used during Invitation flow.
Search based on:
- Person Name
- Family Name
- Location
System finds historical contributions and suggests:
- Amount
- Contribution Type
- Location
- Person Name
- Family Name
- Spouse Name
Selecting suggestion should pre-fill all available fields.
Current implementation:
Local notifications
Reminder source:
functions.reminder_minutes
Default:
1440 minutes (1 day)
Future upgrade:
Firebase Cloud Messaging (FCM)
Status should be calculated dynamically.
Do not rely solely on stored status value.
Rules:
If function datetime > current datetime
Status = Upcoming
Else
Status = Completed
Cancelled should be user-selected.
Home
Menus:
- My Functions
- Invitations
- Categories
- Calendar
- Received Contributions
- Locations
- Notifications
- Open Menus
Home → My Functions → Add Function → Add Contributions
Supports:
Save & Add Next
Save & Exit
Multiple contributions.
Home → Invitations → Add Invitation → Add Contribution
Supports:
Save & Exit only
Single contribution expected.
After save:
Return to Invitations list.
Policies:
functions_select_own
functions_insert_own
functions_update_own
functions_delete_own
User can only access their own records.
Policies:
Select own contributions
Insert own contributions
Update own contributions
Delete own contributions
User scoped.
Authenticated users can:
- Read
- Insert
- Delete
Shared lookup table.
Currently user-managed.
Policies:
Users can manage own categories.
- Firebase Push Notifications
- Notification History
- Export Reports (PDF/Excel)
- Dashboard Analytics
- Full Tamil Localization
- Backup & Restore
- Family-Based Search Improvements
End of Document