Update README.md
This commit is contained in:
@@ -1,16 +1,132 @@
|
||||
# tm_app
|
||||
# Tender Management App
|
||||
|
||||
A new Flutter project.
|
||||
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
|
||||
|
||||
This project is a starting point for a Flutter application.
|
||||
### Prerequisites
|
||||
|
||||
A few resources to get you started if this is your first Flutter project:
|
||||
- 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
|
||||
|
||||
- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)
|
||||
- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook)
|
||||
### Installation
|
||||
|
||||
For help getting started with Flutter development, view the
|
||||
[online documentation](https://docs.flutter.dev/), which offers tutorials,
|
||||
samples, guidance on mobile development, and a full API reference.
|
||||
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.
|
||||
+45
-8
@@ -29,10 +29,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: async
|
||||
sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb"
|
||||
sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.13.0"
|
||||
version: "2.12.0"
|
||||
boolean_selector:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -181,10 +181,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: fake_async
|
||||
sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44"
|
||||
sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.3.3"
|
||||
version: "1.3.2"
|
||||
file:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -227,6 +227,11 @@ packages:
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
flutter_web_plugins:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
freezed:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -259,6 +264,22 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.3"
|
||||
go_router:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: go_router
|
||||
sha256: "8b1f37dfaf6e958c6b872322db06f946509433bec3de753c3491a42ae9ec2b48"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "16.1.0"
|
||||
go_router_builder:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: go_router_builder
|
||||
sha256: e436f0c69e717bd215639fbe27381b7e6605a255852b45cb244e28f01ab2e93a
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.0"
|
||||
graphs:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -319,10 +340,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: leak_tracker
|
||||
sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0"
|
||||
sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "10.0.9"
|
||||
version: "10.0.8"
|
||||
leak_tracker_flutter_testing:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -347,6 +368,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "5.1.1"
|
||||
logger:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: logger
|
||||
sha256: "55d6c23a6c15db14920e037fe7e0dc32e7cdaf3b64b4b25df2d541b5b6b81c0c"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.6.1"
|
||||
logging:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -488,6 +517,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
source_helper:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: source_helper
|
||||
sha256: "4f81479fe5194a622cdd1713fe1ecb683a6e6c85cd8cec8e2e35ee5ab3fdf2a1"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.3.6"
|
||||
source_span:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -596,10 +633,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: vm_service
|
||||
sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02
|
||||
sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "15.0.0"
|
||||
version: "14.3.1"
|
||||
watcher:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
||||
Reference in New Issue
Block a user