Interactive financial literacy platform through life simulations
Moneta has comprehensive unit tests to ensure reliability and stability:
# Navigate to the web directory
cd web
# Run all unit tests
npm run test
# Run tests in watch mode during development
npm run test:watchMoneta is an interactive web platform that helps children and students build financial literacy through realistic simulations. Users take on the role of financial advisors, helping virtual friends manage their money through different life stages. Each decision shapes their future - leading to different outcomes and visualizations of potential life paths.
The platform includes:
- Life simulation with real financial scenarios
- Financial metrics visualization (joy, free time, budget)
- Multiple investment options with different risk/reward profiles
- Career and education path decisions
- Long-term impact visualization of financial choices
- Interactive Cases: Guide virtual characters through financial decisions
- Dynamic Simulation: See how choices affect finances over time
- Metric Tracking: Monitor budget, joy, and free time
- Financial Education: Learn about investments, loans, and savings
- Visual Analytics: Charts and graphs show financial progress
- Unit Testing: Comprehensive test suite ensures reliability
The project is built with modern web technologies:
- Next.js (React)
- TypeScript
- Tailwind CSS
- Recharts for data visualization
- Vitest for unit testing
- Flask API
- Python for financial simulations
- Whisper for audio processing
Moneta follows a client-server architecture:
- Web Client: Next.js application that provides the user interface
- Flask API: Handles financial simulations and provides data to the frontend
- Unit Tests: Ensure the simulation logic works correctly
moneta/
├── web/ # Next.js frontend
│ ├── app/ # Pages and routes
│ ├── components/ # UI components
│ ├── lib/ # Core simulation logic
│ │ └── cases/ # Financial case simulations
│ │ └── __tests__/ # Unit tests
├── services/ # Backend services
│ └── flask/ # Flask API for simulations
This project is licensed under the MIT License - see the LICENSE file for details.