RaiPlay is an interactive financial literacy mobile application developed for the JunctionxTirana Hackathon. The platform aims to make financial education engaging and accessible to users of all ages through gamification, personalized learning paths, and an AI-powered financial assistant.
- Interactive Learning Journey: Guided quest-based progression through financial literacy concepts
- Mini-Games: Engaging games that teach budgeting, investing, and financial decision-making
- Educational Videos: Curated video content explaining financial concepts
- AI Financial Assistant: Chat-based assistant to answer financial questions
- Gamification: XP system, levels, achievements, and daily streaks to maintain engagement
- Social Elements: Leaderboards to foster friendly competition
- Personalized Experience: Content adapts based on user progress and interests
- Framework: Flutter
- State Management: Riverpod
- UI Components: Custom widgets following Raiffeisen brand guidelines
- Storage: Secure local storage for authentication tokens
- Framework: FastAPI (Python)
- Authentication: JWT-based authentication with Google OAuth support
- Database: PostgreSQL
- API: RESTful API design with standardized endpoint structure
- AI Integration: AI-powered financial assistance chatbot
- Navigate to the
appdirectory - Install dependencies:
pip install -r requirements.txt - Set up environment variables (see
configuration.py) - Run the application:
python app.py
- Navigate to the
Mobile/raiplaydirectory - Install dependencies:
flutter pub get - Run the application:
flutter run
The RaiPlay application guides users through a structured financial literacy curriculum:
- Financial Basics: Understanding income, expenses, and savings
- Budgeting: Creating and maintaining personal budgets
- Saving Strategies: Setting goals and saving effectively
- Investing Basics: Introduction to different investment vehicles
- Advanced Topics: Risk management, retirement planning, etc.
Each section contains theory, interactive games, and assessments to reinforce learning.
- XP System: Users earn experience points for completing activities
- Leveling: Progress through levels as XP accumulates
- Badges: Achievement markers for specific accomplishments
- Daily Streaks: Rewards for consistent app usage
- In-app Currency: Virtual coins earned through activities
- Quests: Daily and weekly challenges to encourage engagement
Detailed documentation is available in the Documentation/Code Documentation directory:
- System Architecture Overview
- API Endpoints
- Frontend Architecture
- Backend Architecture
- Visual Component Synopsis
- Artin Rexhepi - Mobile App Engineer
- Daris Dragusha - Data Scientist
- Art Jashari - Embedded Engineer
This project was created as part of the JunctionxTirana Hackathon and is intended for demonstration purposes.
- Raiffeisen Bank Albania for the challenge inspiration
- Junction for organizing the hackathon
- All open source libraries used in this project