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.
-
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
- User management dashboard
- Content management system
- Analytics and reporting
- System configuration tools
- 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
- Authentication: Firebase Authentication
- Database: Firebase Firestore
- Analytics: Firebase Analytics
- Hosting: Firebase Hosting
- Charts: Chart.js with react-chartjs-2
- Spreadsheet Processing: ExcelJS and XLSX
- Date Handling: date-fns
- HTTP Client: Axios
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
- Node.js (v14 or later)
- npm (v6 or later)
- Firebase account and project setup
- Modern web browser with JavaScript enabled
-
Clone the repository
git clone https://github.com/Hum2a/LifeSmart-Omni.git cd LifeSmart-Omni -
Install dependencies
npm install
-
Environment Setup Create a
.envfile 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
-
Development Server
npm start
-
Production Build
npm run build
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 testTo create a new release, use the release.sh script in the project root:
./release.shThis script will:
- Ensure you are in the project root.
- Pull the latest changes from
origin/master. - Install dependencies.
- Run all tests.
- Build the production bundle.
- Auto-increment and create a new git tag for the release.
- 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
bashworks:Replace the path if your Git is installed elsewhere. This alias lasts for the current session.Set-Alias -Name bash -Value "C:\Program Files\Git\bin\bash.exe" bash release.sh
After running the script, follow the output instructions to push tags and deploy as needed.
The application supports all modern browsers:
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow the existing code style
- Write meaningful commit messages
- Include tests for new features
- Update documentation as needed
This project is licensed under the MIT License - see the LICENSE file for details.
- 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
For support:
- Open an issue in the GitHub repository
- Contact the development team
- Check the documentation
- Join our community forum
- Regular dependency updates
- Security patches
- Feature enhancements
- Performance optimizations