Skip to content

Repository files navigation

Hackronomics Logo

Hackronomics

An award-winning AI-driven finance tracking web app that helps users monitor expenses, manage budgets, and discover cost-effective alternatives using AI recommendations. This project was built as part of the CrimsonCode Hackathon, aligning with the theme "Art in Innovation" by incorporating data visualization as digital art to represent spending habits.

Award Acceptance

image

Explanation video

Hackronomics.explanation.mp4

Frontend Demo

Frontend.Demo.mp4

Functional & Non-Functional Requirements for Hackronomics

Functional Requirements

IDRequirementDescription
FR-1AI-Powered Savings SuggestionsAI analyzes transaction data to suggest cost-saving alternatives.
FR-2Save Points SystemUsers earn "Save Points" based on how much they save each week.
FR-3Custom Savings StrategyUsers create flexible, personalized savings plans.
FR-4Avatar CustomizationUsers spend Save Points to unlock and customize their avatar.
FR-5Add-On FeaturesUsers can unlock additional features to use their avatar with other users by saving more over time.
FR-6Engaging UIThe app provides an interactive and visually appealing experience.
FR-7Predictable InfrastructureThe app scales efficiently to accommodate more users.
FR-8Discounts for Extra SavingsIf a user exceeds their weekly savings goal, they receive discounts in the marketplace.

Non-Functional Requirements

IDRequirementDescription
NFR-1ScalabilityThe system should handle a growing number of users efficiently.
NFR-2PerformanceThe app should provide quick responses and smooth animations.
NFR-3SecurityUser data and transactions should be securely stored using encryption.
NFR-4MaintainabilityThe codebase should be modular and easy to extend.
NFR-5AvailabilityThe app should have 99.9% uptime and function across devices.
NFR-6User ExperienceThe interface should be intuitive and engaging, keeping users motivated to save.
NFR-7AI Fairness & TransparencyAI recommendations should be clear, explainable, and free of bias.

Tech Stack for Hackronomics

Core Technologies

CategoryTechnologies & ToolsAssigned To
AI & Machine Learning- Cloudflare (AI/ML services)
- OpenAI API (AI-powered budget insights)
- Google Maps API (Location-based spending suggestions)
Ehiane & Will
Frontend (FE)- React (TypeScript)
- CSS / Bootstrap
Osaze
Backend (BE)- Node.js, Express.js (API & server logic)Ehiane & Will
Database & Authentication- MongoDB (Transaction & user data)
- Auth0 (User authentication & security)
Bruno
Security- Cloudflare CDN (DDoS protection & performance)All of Us
Hosting & Deployment- Vercel + Tech domain (Frontend hosting)Osaze

Database Schema - Hackanomics

The following is the database schema for Hackanomics, built using MongoDB Atlas.

User Collection

FieldTypeDescription
userIDStringUnique identifier for the user
nameStringUser's full name
emailStringUser's email address
DOBDateUser's date of birth
primaryLocationStringUser's primary location or address
zipcodeStringUser's ZIP code
savingsPlanObjectUser's active savings plan (embedded document)
avatarObjectStores the avatar’s customization details
friendsListArrayList of user IDs representing friends

Transactions Collection

FieldTypeDescription
transactionIDStringUnique transaction identifier
userIDStringID of the user making the transaction
categoryENUMType of transaction (Food, Transport, Subscription, etc.)
amountSpentNumberAmount spent on the transaction
vendorDetailsObjectVendor name and address

Avatar Collection

FieldTypeDescription
userIDStringID of the user who owns the avatar
baseBodyStringDefault body shape/type
clothingItemsArrayList of clothing/accessories equipped
faceStringCustom face type

Store Collection

FieldTypeDescription
itemIDStringUnique identifier for the store item
categoryStringType of item (Clothing, Accessories, etc.)
imageURLStringURL to the item's image
priceNumberPrice in Save Points

Savings Plan Collection

FieldTypeDescription
savingsPlanIDStringUnique identifier for the savings plan
userIDStringID of the user associated with the plan
balanceNumberTotal saved amount
transactionsArrayList of related transaction IDs
goalAmountNumberTarget amount for the savings goal
durationStringLength of time for savings (e.g., weekly, monthly)
progressNumberCurrent progress toward the goal (%)
remainingAmountNumberAmount left to reach the goal

Rewards Collection

FieldTypeDescription
rewardIDStringUnique identifier for the reward
userIDStringID of the user earning the reward
rewardNameStringName of the reward (e.g., "10% Off Food")
rewardTypeENUMType of reward (Discount, Bonus Points, Special Item)
redeemedBooleanWhether the reward has been claimed

Discounts Collection

FieldTypeDescription
discountIDStringUnique identifier for the discount
userIDStringID of the user who earned the discount
discountPercentageNumberDiscount percentage applied to the store
expirationDateDateExpiration date for the discount
redeemedBooleanWhether the discount has been used

Notifications Collection

FieldTypeDescription
notificationIDStringUnique identifier for the notification
userIDStringID of the user receiving the notification
messageStringNotification content
readStatusBooleanWhether the user has read the notification
timestampDateTime when the notification was sent

Leaderboard Collection

FieldTypeDescription
leaderboardIDStringUnique identifier for the leaderboard entry
userIDStringID of the user on the leaderboard
totalSavingsNumberTotal amount saved by the user
rankNumberPosition in the leaderboard

Summary

  • The User Collection stores personal details, savings plans, and avatar data.
  • Transactions track spending, categorized by type and vendor details.
  • The Store Collection enables customization by purchasing items with Save Points.
  • The Savings Plan Collection manages user goals and their progress.
  • Rewards and Discounts Collections allow users to earn and redeem perks.
  • Notifications provide real-time updates, and the Leaderboard fosters competition.

About

A Hackathon award-winning AI-driven finance tracking web app that helps users monitor expenses, manage budgets, and discover cost-effective alternatives using AI recommendations. This project was built as part of the CrimsonCode Hackathon.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages