Skip to content

hiroksarker/my_activity

Repository files navigation

My Activity - Personal Activity Management System

A comprehensive Flutter application for managing personal activities, tasks, finances, and more. This application helps users organize their daily activities, track expenses, manage documents, and plan their personal growth.

🚀 Recent Updates

Context-Aware Navigation (Latest)

  • Smart Floating Action Buttons: Each tab now has its own contextual floating action button
    • Explorer: Purple camera button for capturing activities and moments
    • Tasks: Blue add task button for productivity management
    • Finances: Green add expense button for financial tracking
    • Budgets: Orange plan trip button for travel planning
    • Calendar: Orange add event button for scheduling
  • Enhanced User Experience: No more generic actions - each button is tailored to its specific feature area
  • Intuitive Design: Color-coded buttons that match each section's purpose

Modern Form Design System

  • Consistent Form Components: Standardized text fields, dropdowns, and form layouts
  • Modern UI/UX: Clean, accessible form design with proper spacing and typography
  • Form Demo Screen: Interactive showcase of all form components
  • Responsive Design: Forms adapt to different screen sizes and orientations

Project Structure

lib/
├── features/           # Feature-based modules
│   ├── activities/     # Activity management
│   ├── auth/          # Authentication
│   ├── budgets/       # Budget management
│   ├── calendar/      # Calendar functionality
│   ├── daily_explorer/ # Daily travel companion & activities
│   ├── demo/          # Form demo and showcase screens
│   ├── documents/     # Document management
│   ├── expenses/      # Expense tracking
│   ├── family/        # Family management
│   ├── finances/      # Financial management
│   ├── home/          # Home screen with context-aware navigation
│   ├── itinerary/     # Travel planning
│   ├── ledger/        # Financial ledger
│   ├── personal_growth/ # Personal development
│   ├── profile/       # User profile
│   ├── settings/      # App settings
│   ├── study_planner/ # Study planning
│   ├── tasks/         # Task management
│   └── user/          # User management
├── core/              # Core functionality
│   ├── design_system/ # Modern form components & design system
│   │   └── forms/     # Form components (text fields, dropdowns, etc.)
│   ├── theme/         # App theming and colors
│   └── widgets/       # Core reusable widgets
├── database/          # Database operations
├── di/               # Dependency injection
├── shared/           # Shared components
├── utils/            # Utility functions
└── widgets/          # Reusable UI widgets

test/                 # Root test directory
├── e2e/             # End-to-end tests
│   └── features/    # Feature-specific e2e tests
├── integration/     # Integration tests
│   ├── activity_ui_test.dart
│   └── other_integration_tests.dart
├── unit/            # Unit tests
│   ├── activities/
│   ├── auth/
│   └── other_features/
└── helpers/         # Test utilities

integration_test/     # UI and integration tests

Features

1. Activity Management (features/activities/)

  • Create, update, and delete activities
  • Set activity priorities
  • Track activity status
  • Filter and search activities
  • Activity categorization

2. Authentication (features/auth/)

  • User authentication
  • Secure login/logout
  • Password management
  • Session handling

3. Budget Management (features/budgets/)

  • Create and manage budgets
  • Track spending against budgets
  • Budget categories
  • Budget reports

4. Calendar (features/calendar/)

  • Event scheduling
  • Activity timeline
  • Calendar views
  • Reminders

5. Document Management (features/documents/)

  • Document storage
  • File organization
  • Document sharing
  • Version control

6. Expense Tracking (features/expenses/)

  • Expense logging
  • Category management
  • Receipt scanning
  • Expense reports

7. Family Management (features/family/)

  • Family member profiles
  • Shared activities
  • Family calendar
  • Resource sharing

8. Financial Management (features/finances/)

  • Financial tracking
  • Income/expense management
  • Financial reports
  • Investment tracking

9. Home Screen (features/home/)

  • Context-Aware Navigation: Smart floating action buttons that change based on the selected tab
  • Multi-Tab Interface: Explorer, Tasks, Finances, Budgets, and Calendar tabs
  • Dashboard Overview: Quick access to all major features
  • Modern Drawer Navigation: Organized navigation with visual indicators

10. Itinerary Planning (features/itinerary/)

  • Trip planning
  • Schedule management
  • Location tracking
  • Travel expenses

11. Personal Growth (features/personal_growth/)

  • Goal setting
  • Progress tracking
  • Habit formation
  • Achievement tracking

12. Profile Management (features/profile/)

  • User profiles
  • Settings management
  • Preferences
  • Account management

13. Study Planning (features/study_planner/)

  • Study schedule
  • Course management
  • Progress tracking
  • Resource organization

14. Task Management (features/tasks/)

  • Task creation and assignment
  • Priority management
  • Deadline tracking
  • Task categories

15. Daily Explorer (features/daily_explorer/)

  • Travel Companion: Daily dashboard for travel and exploration activities
  • Activity Capture: Camera integration for capturing moments and locations
  • Location Services: GPS tracking and location-based features
  • Weather Integration: Weather information for travel planning
  • Memory Tracking: Save and organize travel memories

16. Design System (core/design_system/)

  • Modern Form Components: Standardized UI components
    • ModernTextField: Consistent text input fields
    • ModernDropdown: Styled dropdown selections
    • ModernFormScaffold: Form layout wrapper
  • Form Theming: Centralized colors, typography, and spacing
  • Accessibility: WCAG compliant form components
  • Responsive Design: Components adapt to different screen sizes

Testing Strategy

Test Organization

  • All tests are organized under the root test/ directory:
    test/
    ├── e2e/             # End-to-end tests
    │   └── features/    # Feature-specific e2e tests
    ├── integration/     # Integration tests
    │   ├── activity_ui_test.dart
    │   └── other_integration_tests.dart
    ├── unit/            # Unit tests
    │   ├── activities/
    │   ├── auth/
    │   └── other_features/
    └── helpers/         # Test utilities
    

Test Types

  1. Unit Tests (test/unit/)

    • Test individual functions and methods
    • Organized by feature in subdirectories
    • Focus on business logic and data processing
  2. Widget Tests (test/widget/)

    • Test UI components
    • Verify widget rendering and interactions
    • Located in feature-specific subdirectories
  3. Integration Tests (test/integration/)

    • Test feature interactions
    • Verify feature workflows
    • Include UI tests for complex interactions
  4. End-to-End Tests (test/e2e/)

    • Test complete user flows
    • Located in test/e2e/features/
    • Verify application behavior from user perspective

Running Tests

# Run all tests
flutter test

# Run specific test file
flutter test test/integration/activity_ui_test.dart

# Run tests with coverage
flutter test --coverage

Development Setup

  1. Prerequisites

    • Flutter SDK
    • Dart SDK
    • Android Studio / Xcode
    • Git
  2. Installation

    git clone [repository-url]
    cd my_activity
    flutter pub get
  3. Environment Setup

    • Copy .env.example to .env
    • Configure environment variables
    • Set up Firebase (if needed)
  4. Running the App

    flutter run

Development Notes

Kiro IDE Integration

This project includes Kiro IDE specifications and configurations for enhanced development experience:

  • Specs Directory: .kiro/specs/ contains feature specifications and implementation plans
  • Local Only: All .kiro/ files are excluded from git tracking (local development only)
  • Available Specs:
    • modern-form-redesign: Modern form design system implementation
    • daily-explorer-activities: Daily explorer feature development
    • activity-analytics-dashboard: Analytics and reporting features

Architecture Patterns

  • Feature-First Architecture: Each feature is self-contained with its own models, providers, and screens
  • Provider Pattern: State management using Flutter Provider
  • Repository Pattern: Data access abstraction for clean architecture
  • Design System: Centralized UI components and theming

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

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

🙏 Acknowledgments

  • Flutter team for the amazing framework.
  • Material Design team for the design system.
  • All contributors who have helped shape this project.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published