# 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.