2515190576197735620d595d2ec0b012a62e67fb
unixTimestampFromJson for parsing timestamps and updated timeConvertor to handle null values. Updated relevant model fields and UI to use the new parsing logic. Added unit tests for date utilities.
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
-
Clone the repository:
git clone [repository-url] cd tm_app -
Install dependencies:
flutter pub get -
Run the app:
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
flutter build apk --release
iOS
flutter build ios --release
Contributing
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - 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.
Description
Languages
Dart
99.4%
JavaScript
0.2%
Ruby
0.2%
HTML
0.1%