GithubHelp home page GithubHelp logo

blindspot22 / whize360 Goto Github PK

View Code? Open in Web Editor NEW
9.0 3.0 1.0 62 KB

Personalized financial wellness application that leverages user data to provide tailored insights and recommendations. It include features such as budgeting tools, investment advice, and credit score monitoring.

License: GNU General Public License v3.0

Dockerfile 0.61% JavaScript 43.50% CSS 3.28% HTML 52.61%
bank banking-applications finance whize360

whize360's Introduction

Financial Wellness App

Overview

The Financial Wellness App is a comprehensive personal finance management tool designed to empower users with budgeting, investment advice, and credit score monitoring features. This README provides essential information for developers, contributors, and users to understand, contribute, and use the app effectively.

Table of Contents

Features

  1. Budget Management:

    • Create and manage a personalized budget.
    • Categorize income sources and expenses.
    • Visualize budget performance over time.
  2. Investment Advice:

    • Receive personalized investment advice based on financial goals and risk tolerance.
    • Track investment performance and adjust portfolios.
  3. Credit Score Monitoring:

    • Monitor credit score trends over time.
    • Receive insights and recommendations for improving credit health.
  4. Financial Goals:

    • Set and track short-term and long-term financial goals.
    • Receive personalized plans and strategies to achieve each goal.
  5. Notifications and Alerts:

    • Receive notifications for upcoming bills and financial events.
    • Set alerts for significant changes in investment portfolio value.
  6. Account Sync:

    • Connect and sync financial accounts securely for a centralized view.
    • Real-time synchronization of transactions and balances.
  7. Spending Analysis:

    • Track and categorize spending habits.
    • Receive insights on spending trends and potential areas for savings.
  8. Financial Education:

    • Access educational resources on financial literacy.
    • Receive personalized recommendations based on user interests.
  9. Scenario Simulation:

    • Simulate different financial scenarios to understand potential impacts.
    • Visualize projected impacts on budget, investments, and goals.
  10. User-Friendly Interface:

    • Clean and intuitive design for easy navigation.
    • Responsive design for a seamless experience across devices.

Getting Started

Prerequisites

  • Node.js and npm installed (version X.X.X).
  • MongoDB installed and running locally or remotely.

Installation

  1. Clone the repository:

    git clone https://github.com/Blindspot22/financial-wellness-app.git
    cd financial-wellness-app
  2. Install dependencies:

    npm install

Tech Stack

  • Frontend: React.js, Redux, Material-UI
  • Backend: Node.js, Express
  • Database: MongoDB
  • Authentication: JSON Web Tokens (JWT)
  • Version Control: Git (GitHub)

Project Structure

The project follows a modular structure for maintainability and scalability. Here are key directories:

  • client/: Frontend code.
  • server/: Backend code.
  • docs/: Documentation files.
  • tests/: Unit and integration tests.

Contributing

We welcome contributions! Please follow our Contribution Guidelines for details on how to contribute to this project.

Documentation

Detailed documentation, including API documentation and user guides, can be found in the docs/ directory.

License

This project is licensed under the GNU License.


whize360's People

Contributors

blindspot22 avatar

Stargazers

 avatar NkwaTambe avatar Christian Yemele avatar  avatar Motouom Victoire avatar  avatar  avatar  avatar Yash Shrivastava avatar

Watchers

Thibault Barske avatar Stephane SEGNING LAMBOU avatar  avatar

Forkers

nkwatambe

whize360's Issues

Ticket 3::4 Goal Recommendation Engine

Description:
Develop a recommendation engine to suggest personalized plans and strategies for achieving financial goals.

Tasks:

  1. Research and choose an algorithm or approach for goal recommendations based on user input.
  2. Implement the recommendation engine logic in the backend.
  3. Integrate the recommendation engine with the goal-setting interface.

Ticket 5::1 Budget Summary and Insights

Description:
Develop a summary page that provides insights into the user's budget.

Tasks:

  1. Create a summary section displaying total income and total expenses.
  2. Implement insights or recommendations based on budget performance.
  3. Include a comparison of actual spending to budgeted amounts.

Acceptance Criteria:
User can access a summary page with total income and expenses.
The summary page provides insights or recommendations based on budget performance.

Ticket 4::4 Progress Tracking

Description:
Enable users to track their progress toward financial goals.

Tasks:

  1. Design and implement a progress tracker in the user interface.
  2. Integrate progress tracking with the backend to update and retrieve goal progress data.
  3. Ensure real-time updates on goal progress based on user transactions and manual updates.

Ticket 1::2 Implement Risk Tolerance Questionnaire

Description:
Develop the risk tolerance questionnaire feature to assess users' risk preferences accurately.

Tasks:

  1. Create a set of questions that effectively evaluate a user's risk tolerance.
  2. Implement a user interface to present the risk tolerance questionnaire.
  3. Ensure the questionnaire responses are securely stored and associated with the user's profile.

Acceptance Criteria:
Users can complete the risk tolerance questionnaire.
Questionnaire responses are saved securely and associated with the user's account.

Ticket 5::5 Test and Optimize Notification System

Description:
Thoroughly test the notification system to ensure accuracy, reliability, and a positive user experience.

Tasks:

  1. Conduct unit tests for each notification type.
  2. Simulate various scenarios (e.g., different bill frequencies, portfolio value changes) to validate notifications.
  3. Optimize notification delivery for different platforms (iOS, Android) to ensure consistency.

Ticket 5::8 User Profile and Preferences

Description:
Enhance user profiles to capture interests and preferences for better personalization.

Tasks:

  1. Expand user profiles to include fields for financial interests and preferences.
  2. Update user registration and profile editing interfaces to capture new information.
  3. Integrate user preferences into the personalized recommendations algorithm.
  4. Implement a settings section for users to manage and update their preferences.

Ticket 1:: 1 Create Budget Interface

Description:
Develop the user interface for creating and managing a personalized budget.
Tasks:

  1. Design and implement a page/screen for creating a new budget.
  2. Include input fields for budget name and time period (e.g., monthly, yearly).
  3. Integrate basic styling for a clean and intuitive user interface.

*Acceptance Criteria:
User can access a dedicated page for creating a new budget.
The interface includes fields for budget name and time period.

Ticket 3::8 User Engagement Analytics

Description:
Implement analytics to track user engagement with educational resources and recommendations.

Tasks:

  1. Choose an analytics tool or service for tracking user interactions.
  2. Integrate analytics into the app to monitor content views and user interactions.
  3. Set up event tracking for personalized recommendations clicks and views.
  4. Ensure analytics provide insights into user engagement patterns.

Ticket 2::1 Implement Income Categorization

Description:
Implement the ability to add and categorize income sources within a budget.

Tasks:

  1. Add functionality to input various income sources.
  2. Create a system for categorizing each income source (e.g., salary, freelance income).
  3. Ensure users can assign an amount to each income source.

Acceptance Criteria:
User can add multiple income sources to a budget.
Each income source can be categorized (e.g., salary, freelance).

Ticket 2::5 Integrate Bill Notifications

Description:
Integrate a notification system for upcoming bills to keep users informed about their financial commitments.

Tasks:

  1. Connect the app with the user's linked financial accounts to retrieve bill information.
  2. Implement a notification service that sends reminders for upcoming bill due dates.
  3. Provide users with the ability to customize notification timing (e.g., days before the due date).

Ticket 4::6 Transaction History Display

Description:
Develop a feature that enables users to access and view their transaction history within the app. The transaction history should provide detailed information about past transactions, including date, amount, and transaction type.

Tasks:

  1. Design a user interface for displaying transaction history.
  2. Implement backend logic to fetch and organize transaction data from connected financial institutions.
  3. Integrate transaction history display with the app's navigation and user interface.

Ticket 4::7 Send Spending Alerts

Description:
Implement a notification system to alert users when they approach or exceed set spending limits.

Tasks:

  1. Integrate a notification service or mechanism into the app.
  2. Define rules for sending alerts based on spending limit thresholds.
  3. Implement backend logic to trigger alerts when spending limits are reached.

Ticket 2::4 Backend Goal Storage

Description:
Implement backend logic to store and manage user-set financial goals.

Tasks:

  1. Create database schema to store goal details (e.g., goal type, amount, deadline).
  2. Develop API endpoints to handle goal creation, retrieval, and modification.
  3. Implement server-side validation for goal data.

Ticket 4::3 User Notification for Credit Score Changes

Description:
Implement a notification system to alert users when there are significant changes to their credit scores.

Tasks:

  1. Design a notification system that sends alerts for credit score changes.
  2. Integrate the notification system with the credit score monitoring service.
  3. Implement user preferences for customizing notification thresholds.
  4. Test the notification system with varying credit score scenarios.

Ticket 4::8 User Interaction and Q&A Section

Description:
Create a user interaction section where users can ask questions and seek clarification on financial topics.

Tasks:

  1. Design and implement a user interface for submitting questions and seeking clarification.
  2. Develop a backend service to manage user-submitted questions and responses.
  3. Implement a notification system to alert users when their questions are answered.
  4. Include moderation features to ensure the quality of responses.

Ticket 1::4 Goal Setting Interface

Description:
Create a user-friendly interface for setting short-term and long-term financial goals.

Tasks:

  1. Design and implement a goal-setting form in the user interface.
  2. Include fields for specifying goal type (short-term or long-term), target amount, and deadline.
  3. Ensure validation for goal parameters and user input.

Ticket 2::3 Clear Visualization of Credit Score Trends

Description:
Implement a clear and visually appealing representation of the user's credit score trends over time.

Tasks:

  1. Design a dashboard or graph component for displaying credit score trends.
  2. Implement frontend components to fetch and display historical credit score data.
  3. Ensure the visualization is responsive and accessible on various devices.
  4. Conduct testing to validate the accuracy of displayed credit score trends.

Ticket 5::4 Notification for Goal Milestones

Description:
Implement a notification system to alert users about approaching goal deadlines and milestones.

Tasks:

  1. Develop a notification service for goal-related events (e.g., nearing the deadline, achieving milestones).
  2. Integrate the notification system with the backend goal logic.
  3. Provide user interface options for managing notification preferences.

Ticket 3::3 Recommendations for Credit Score Improvement

Description:
Develop a feature that provides actionable recommendations to users for improving their credit score based on their financial behavior.

Tasks:

  1. Collaborate with financial experts or advisors to compile a list of common actions to improve credit scores.
  2. Implement backend logic to analyze user credit data and generate personalized recommendations.
  3. Design a user interface to present recommendations clearly.
  4. Test the recommendation engine with different user scenarios to ensure accuracy.

Ticket 3::6 Account Balance Display

Description:
Implement functionality that allows users to view the balances of their connected financial accounts within the app. The balances should be presented in a clear and easily understandable format.

Tasks:

  1. Design a user interface component for displaying account balances.
  2. Integrate with the real-time synchronization system to fetch and update account balances dynamically.
  3. Implement logic to handle various types of accounts (e.g., checking, savings, credit cards) and display their respective balances accurately.

Ticket 4::1 Budget Visualization

Description:
Implement a visualization feature for tracking budget performance over time.

Tasks:

  1. Design and implement a chart/graph to display income and expenses over the budget period.
  2. Ensure the chart updates dynamically as the user adds or modifies budget entries.
  3. Include tooltips or details for specific data points on the chart.

Acceptance Criteria:
User can view a graphical representation of their budget performance.
The chart updates in real-time as budget entries are added or modified.

Ticket 5::3 Educational Resources for Credit Health

Description:
Develop a section within the app that provides educational resources and tips to help users understand and improve their credit health.

Tasks:

  1. Create a user-friendly interface for accessing educational resources.
  2. Collaborate with financial experts to curate content on credit health.
  3. Implement a feature that suggests relevant educational content based on the user's credit profile.
  4. Test the educational resources section for usability and effectiveness.

Ticket 2::6 Real-time Transaction Synchronization

Description:
Enable real-time synchronization of user transactions from connected financial accounts to the app. Ensure that transactions are updated promptly to provide users with an up-to-date view of their financial activities.

Tasks:

  1. Develop a mechanism to subscribe to real-time transaction updates from financial institutions.
  2. Implement a queue-based system to process and synchronize transactions in near real-time.
  3. Test transaction synchronization with multiple financial institutions to ensure reliability and consistency.

Ticket 1::8 Content Repository Integration

Description:
Integrate a content repository to provide users with access to articles, videos, and interactive modules on financial topics.

Tasks:

  1. Research and select a suitable content repository or API for financial education resources.Develop a module to fetch and display articles, videos, and interactive content.
  2. Implement a user interface to navigate and view educational resources.
  3. Ensure content is categorized for easy accessibility.

Ticket 4::2 Implement Investment Tracking Option

Description:
Develop a feature that allows users to track the performance of their investments over time.

Tasks:

  1. Add an option for users to link and sync their investment accounts.
  2. Create a backend system to fetch and update real-time investment data.
  3. Implement a history or timeline feature for tracking investment performance.

Acceptance Criteria:

Users can connect their investment accounts for automatic tracking.
The system accurately retrieves and updates investment performance data.

Ticket 4::5 Create Goal Reminder System

Description:
Develop a system to send reminders to users for their set financial goals and deadlines.

Tasks:

  1. Implement a backend service to track user-set financial goals.
  2. Schedule reminders based on goal deadlines.
  3. Ensure users can customize the frequency and timing of goal reminders.

Ticket 1::7 Implement Transaction Categorization

Description:
Implement a system for automatically categorizing user transactions based on spending patterns.

Tasks:

  1. Research and choose a suitable transaction categorization library or algorithm.
  2. Develop a mechanism to categorize transactions using the chosen approach.
  3. Test the categorization system with sample transactions to ensure accuracy.

Ticket 5::7 Test and Refine Spending Features

Description:
Conduct thorough testing of the implemented features and refine as needed.

Tasks:

  1. Conduct unit tests for transaction categorization, spending insights, and spending limits.
  2. Perform integration testing to ensure seamless interaction between different components.
  3. Gather feedback from a test group of users and make adjustments based on their experience.

Ticket 1::5 Implement Notification Settings Page

Description:
Create a dedicated page within the app settings where users can manage their notification preferences.

Tasks:

  1. Design and implement a user interface for notification settings.
  2. Include toggle switches or checkboxes for different notification types (bills, investment changes, goal reminders).
  3. Ensure the settings are stored securely in the user's profile.

Ticket 3::7 Allow Users to Set Spending Limits

Description:
Implement a feature that allows users to set spending limits for different spending categories.

Tasks:

  1. Design an intuitive interface for users to set spending limits.
  2. Develop backend logic to store and manage user-defined spending limits.
  3. Implement front-end validations to ensure spending limits adhere to predefined criteria.

Ticket 5::2 Enhance User Profile for Preferences

Description:
Extend the user profile to include additional preferences related to investment strategies and goals.

Tasks:

  1. Modify the user profile schema to include investment-related preferences.
  2. Update the user interface to capture and display investment-related preferences.
  3. Ensure that changes to the user profile are reflected in the investment recommendation engine.

Acceptance Criteria:
User profiles can store and display investment preferences.
Investment recommendations consider the updated user preferences.

Ticket 3::2 Create User Dashboard for Investment Tracking

Description:
Build a user dashboard to provide an overview of the user's investment portfolio and performance.

Tasks:

  1. Design a dashboard that displays key investment metrics.
  2. Integrate with the backend to fetch and display real-time investment data.
  3. Implement interactive charts or graphs for visualizing investment performance.

Acceptance Criteria:
Users can view their current investment portfolio on the dashboard.
Investment performance metrics are displayed accurately.

Ticket 3::5 Develop Investment Portfolio Alerts

Description:
Implement an alert system to notify users of significant changes in their investment portfolio value.

Tasks:

  1. Integrate with the chosen investment data source or API.
  2. Define thresholds for significant changes (e.g., percentage increase/decrease).
  3. Create a notification service to send alerts when the portfolio value crosses predefined thresholds.

Ticket 2::7 Create Spending Insights Dashboard

Description:
Develop a dashboard that provides insights into the user's spending trends.

Tasks:

  1. Design a user-friendly dashboard to display spending insights.
  2. Integrate with the categorized transaction data to generate meaningful spending trends.
  3. Implement visualizations (e.g., charts, graphs) to represent spending patterns over time.

Ticket 3::1 Implement Expense Categorization

Description:
Implement the ability to add and categorize expenses within a budget.

Tasks:

  1. Add functionality to input various expenses.
  2. Create a system for categorizing each expense (e.g., rent, groceries).
  3. Ensure users can assign an amount to each expense.

Acceptance Criteria:
User can add multiple expenses to a budget.
Each expense can be categorized (e.g., rent, groceries).

Ticket 2::2 Develop Investment Recommendation Engine

Description:
Implement the core logic for generating personalized investment recommendations based on the user's risk tolerance and financial goals.

Tasks:

  1. Integrate the risk tolerance data with the investment recommendation engine.
  2. Design algorithms to analyze risk preferences and financial goals.
  3. Generate personalized investment advice based on the user's profile.

Acceptance Criteria:
Investment recommendations align with the user's risk tolerance and financial goals.
The recommendation engine is scalable and efficient.

Ticket 2::8 Personalized Recommendations Engine

Description:
Implement a personalized recommendations engine to suggest financial education content based on user interests.

Tasks:

  1. Define user interest categories relevant to financial literacy (e.g., budgeting, investing, credit).
  2. Develop an algorithm to analyze user behavior and preferences.
  3. Integrate the algorithm to recommend tailored educational content.
  4. Implement a user interface to showcase personalized recommendations.

Ticket 1::6 Implement Secure Integration with Financial Institutions

Description:
Develop a secure integration mechanism to connect the app with various financial institutions and bank accounts. This includes implementing industry-standard security protocols and encryption methods to ensure the protection of user data during the integration process.

Tasks:

  1. Research and identify secure API protocols (e.g., OAuth, OpenID Connect) for financial institution integrations.
  2. Implement OAuth or a similar protocol for secure authentication and authorization with financial institutions.
  3. Establish encrypted communication channels to ensure the confidentiality of user credentials during integration.

Ticket 5::6 Security Audit and Testing

Description:
Conduct a thorough security audit of the entire financial account integration process to identify and mitigate potential security risks. Perform testing to ensure the secure handling of user data during account synchronization.

Tasks:

  1. Collaborate with security experts to review the integration architecture for potential vulnerabilities.
  2. Conduct penetration testing to identify and address security weaknesses.
  3. Perform end-to-end testing of the entire account synchronization process to ensure the security and privacy of user financial data.

Ticket 1::3 Integration with Credit Score Monitoring Service

Description:
Integrate the app with a credit score monitoring service to provide users with real-time updates on their credit scores.

Tasks:

  1. Research and select a reputable credit score monitoring service.
  2. Obtain necessary API credentials for integration.
  3. Implement secure API integration for retrieving and updating the user's credit score.
  4. Test the integration with sample data to ensure accurate retrieval.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.