Skip to content

A modern financial education platform helping users make smarter financial decisions through interactive tools and personalized guidance

Notifications You must be signed in to change notification settings

Hum2a/LifeSmart-Omni

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

LifeSmart - Financial Education Platform

LifeSmart Logo

React Firebase Chart.js License

Repository: https://github.com/Hum2a/LifeSmart-Omni

A comprehensive financial education platform empowering users to make informed financial decisions through interactive tools, personalized guidance, and real-world simulations.

🌟 Features

Core Features

  • Budget Tool: Advanced budgeting assistant with interactive features

    • Step-by-step budget creation wizard
    • AI-powered budget recommendations
    • Visual budget breakdown with Chart.js
    • Exportable budget reports (Excel/CSV)
    • Real-time expense tracking
    • Category-based spending analysis
  • Stock Market Simulation

    • Real-time market data integration
    • Virtual trading environment
    • Portfolio tracking
    • Historical performance analysis
    • Risk assessment tools
  • Learning Center

    • Interactive financial education modules
    • Progress tracking
    • Achievement system
    • Personalized learning paths
  • Quiz System

    • Knowledge assessment tests
    • Topic-specific quizzes
    • Performance analytics
    • Certification system
  • Investment Calculator

    • Compound interest calculations
    • Retirement planning
    • Investment growth projections
    • Risk analysis tools

Administrative Features

  • User management dashboard
  • Content management system
  • Analytics and reporting
  • System configuration tools

πŸš€ Tech Stack

Frontend

  • Core Framework: React.js 18.2.0
  • Routing: React Router v6.21.0
  • State Management: React Hooks
  • Styling:
    • CSS3 with modern features (Flexbox, Grid, CSS Variables)
    • Framer Motion for animations
    • React Transition Group for smooth transitions

Backend & Services

  • Authentication: Firebase Authentication
  • Database: Firebase Firestore
  • Analytics: Firebase Analytics
  • Hosting: Firebase Hosting

Data Visualization & Processing

  • Charts: Chart.js with react-chartjs-2
  • Spreadsheet Processing: ExcelJS and XLSX
  • Date Handling: date-fns
  • HTTP Client: Axios

πŸ› οΈ Project Structure

src/
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ screens/           # Main screen components
β”‚   β”‚   β”œβ”€β”€ admin/        # Administrative dashboard
β”‚   β”‚   β”œβ”€β”€ auth/         # Authentication screens
β”‚   β”‚   β”œβ”€β”€ budget/       # Budget management
β”‚   β”‚   β”œβ”€β”€ calculator/   # Financial calculators
β”‚   β”‚   β”œβ”€β”€ learning/     # Educational content
β”‚   β”‚   β”œβ”€β”€ quiz/         # Assessment system
β”‚   β”‚   β”œβ”€β”€ simulation/   # Stock market simulation
β”‚   β”‚   └── stockmarket/  # Market analysis tools
β”‚   β”œβ”€β”€ common/           # Shared components
β”‚   β”œβ”€β”€ widgets/          # Reusable UI components
β”‚   └── styles/           # Component-specific styles
β”œβ”€β”€ hooks/                # Custom React hooks
β”œβ”€β”€ services/             # API and service integrations
β”œβ”€β”€ utils/                # Utility functions
β”œβ”€β”€ firebase/             # Firebase configuration
└── assets/              # Static assets

πŸš€ Getting Started

Prerequisites

  • Node.js (v14 or later)
  • npm (v6 or later)
  • Firebase account and project setup
  • Modern web browser with JavaScript enabled

Installation

  1. Clone the repository

    git clone https://github.com/Hum2a/LifeSmart-Omni.git
    cd LifeSmart-Omni
  2. Install dependencies

    npm install
  3. Environment Setup Create a .env file in the root directory:

    REACT_APP_FIREBASE_API_KEY=your_api_key
    REACT_APP_FIREBASE_AUTH_DOMAIN=your_auth_domain
    REACT_APP_FIREBASE_PROJECT_ID=your_project_id
    REACT_APP_FIREBASE_STORAGE_BUCKET=your_storage_bucket
    REACT_APP_FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id
    REACT_APP_FIREBASE_APP_ID=your_app_id
    REACT_APP_FIREBASE_MEASUREMENT_ID=your_measurement_id
  4. Development Server

    npm start
  5. Production Build

    npm run build

πŸ§ͺ Testing

The project includes comprehensive testing setup:

  • Jest for unit testing
  • React Testing Library for component testing
  • User event simulation
  • DOM testing utilities

Run tests with:

npm test

πŸš€ Release Process

To create a new release, use the release.sh script in the project root:

./release.sh

This script will:

  1. Ensure you are in the project root.
  2. Pull the latest changes from origin/master.
  3. Install dependencies.
  4. Run all tests.
  5. Build the production bundle.
  6. Auto-increment and create a new git tag for the release.
  7. Output next steps for pushing tags and deploying.

Windows users:

  • If you are on Windows, run the script with Git Bash or WSL:
    bash release.sh
  • You may need to make the script executable on Unix systems:
    chmod +x release.sh
  • PowerShell Bash Alias (Git Bash workaround): If you have Git for Windows installed, you can set a temporary alias in PowerShell so bash works:
    Set-Alias -Name bash -Value "C:\Program Files\Git\bin\bash.exe"
    bash release.sh
    Replace the path if your Git is installed elsewhere. This alias lasts for the current session.

After running the script, follow the output instructions to push tags and deploy as needed.

πŸ“± Browser Support

The application supports all modern browsers:

  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Edge (latest)

🀝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Development Guidelines

  • Follow the existing code style
  • Write meaningful commit messages
  • Include tests for new features
  • Update documentation as needed

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ”’ Security

  • All API keys and sensitive data are stored in environment variables
  • Firebase security rules are implemented for data access control
  • Regular security audits are performed
  • HTTPS is enforced in production

πŸ“ž Support

For support:

  • Open an issue in the GitHub repository
  • Contact the development team
  • Check the documentation
  • Join our community forum

πŸ”„ Updates & Maintenance

  • Regular dependency updates
  • Security patches
  • Feature enhancements
  • Performance optimizations

Made with ❀️ by the LifeSmart Team

About

A modern financial education platform helping users make smarter financial decisions through interactive tools and personalized guidance

Topics

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages