A new Flutter project named Plantist Case. This project implements features related to task management, including creating, updating, and displaying TODO items with various functionalities.
- Task Management: Create, update, and delete TODO items.
- State Management: Manage state using
GetX
. - Firebase Integration:
- Authentication using Firebase Auth.
- Data storage with Firestore.
- File uploads using Firebase Storage.
- Responsive UI: Built to be responsive using
flutter_screenutil
. - Custom Fonts and Icons: Integrated with Google Fonts and Cupertino Icons.
- Image Picker: Select images from the gallery.
- SVG Support: Display SVG images using
flutter_svg
.
Ensure you have the following installed:
- Flutter SDK (>=3.4.3 <4.0.0)
- Dart
- Firebase CLI
-
Clone the repository:
git clone https://github.com/yourusername/plantist_case.git cd plantist_case
-
Install dependencies:
flutter pub get
-
Set up Firebase
- Create a Firebase project in your Firebase Console.
- Add Android and iOS apps to your Firebase project..
- *Download the google-services.json for Android and GoogleService-Info.plist for iOS and place them in their respective directories:
- android/app/
- ios/Runner/
-
Run the project
flutter run
The project uses the following key dependencies:
State Management: get - For efficient state management. #Firebase:
-
- Firebase Auth - Authentication management.
-
- Firebase Core - Firebase core functionalities.
-
- Cloud Firestore - Firestore database.
-
- Firebase storage - Cloud storage for images and files.
#UI and Styling:
-
- Google fonts: Font bundling in assets. Matching font files found in assets are prioritized over HTTP
fetching. Useful for offline-first apps.
-
- Flutter SVG: Basic usage (to create an SVG rendering widget from an asset.
-
- Flutter ScreenUtil: A flutter plugin for adapting screen and font size. Let your UI display a reasonable layout on different screen sizes.
-
- Intl: Provides internationalization and localization facilities, incluıding message translation, plurals and genders, date/number formatting and parsing, and bidirectional text.
-
- Permission handler: On most operating systems, permissions aren't just granted top apps at install time. Rather, developers have to ask the user for permission while the app is running.
*Contributions are welcome! Please follow these steps:
- Create a new branch (git checkout -b feature-branch).
- Make your changes.
- Commit your changes (git commit -am 'Add new feature').
- Push to the branch (git push origin feature-branch).
- Create a new Pull Request.
*For more information, feel free to reach out at [email protected].