Files
tm_app/README.md
T
2025-08-05 08:40:49 +03:30

132 lines
3.9 KiB
Markdown

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