# Tender Management App

A Flutter-based mobile application for managing and tracking tenders, providing users with an intuitive interface to browse, track, and manage tender opportunities.

## Features

- **User Authentication**: Secure login system with user authentication
- **Home Dashboard**: Overview of tender statistics and quick access to recent tenders
- **Tender Management**: Browse and manage tenders with filtering and sorting capabilities
- **User Profile**: Personalized user profile management
- **Bottom Navigation**: Easy navigation between main sections of the app

## Getting Started

### Prerequisites

- Flutter SDK (3.0.0 or higher)
- Dart SDK (3.0.0 or higher)
- Android Studio / VS Code with Flutter plugins
- An Android or iOS device/emulator for testing

### Installation

1. Clone the repository:
   ```bash
   git clone [repository-url]
   cd tm_app
   ```

2. Install dependencies:
   ```bash
   flutter pub get
   ```

3. Run the app:
   ```bash
   flutter run
   ```

## Project Structure

```
tm_app/
├── lib/
│   ├── common/           # Shared components and widgets
│   │   └── widgets/      # Common UI components
│   ├── core/             # Core functionality
│   │   ├── config/       # App configuration
│   │   ├── constants/    # App constants (colors, strings, assets)
│   │   ├── routes/       # Navigation and routing
│   │   └── utils/        # Utility functions and helpers
│   ├── data/             # Data layer
│   │   ├── models/       # Data models
│   │   ├── repositories/ # Data repositories
│   │   └── services/     # API services
│   ├── view_models/      # Business logic and state management
│   ├── views/            # UI screens and pages
│   │   ├── home/         # Home screen components
│   │   ├── login/        # Login screen and widgets
│   │   ├── profile/      # User profile screen
│   │   └── tenders/      # Tender management screens
│   └── main.dart         # App entry point
├── assets/               # Images, icons, and other assets
├── android/              # Android-specific configuration
├── ios/                  # iOS-specific configuration
└── test/                 # Unit and widget tests
```

## Key Components

### Authentication
- Login screen with custom UI components
- Authentication service and repository for user management
- Secure credential handling

### Home Screen
- Statistics dashboard showing tender metrics
- Progress bars for visual data representation
- Quick access to recent tenders list

### Tender Management
- Main tender screen with tabbed interface
- Tender cards with detailed information
- Action buttons for tender interactions (like/dislike)
- Slider for featured tenders

### Navigation
- Bottom navigation bar for main sections
- Go Router for navigation management
- Shell route for persistent navigation

## Technologies Used

- **Flutter**: Cross-platform mobile framework
- **Dart**: Programming language
- **Go Router**: Navigation and routing
- **Provider/Riverpod**: State management (based on view models structure)

## Assets

The app uses custom SVG icons and PNG images located in:
- `/assets/icons/` - SVG icons for UI elements
- `/assets/pngs/` - PNG images including logo
- `/assets/svgs/` - Additional SVG assets

## Building for Production

### Android
```bash
flutter build apk --release
```

### iOS
```bash
flutter build ios --release
```

## Contributing

1. Fork the project
2. Create your 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

## License

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

## Support

For support and questions, please open an issue in the project repository.