A modern, cross-platform Flutter application for item swapping. Users can list items, request swaps, manage their profiles, and track swap history across iOS and Android. Built with Clean Architecture.
Screenshots coming soon. Run the app locally to see it in action.
- Authentication: Secure user registration and login via Firebase Auth
- Home Feed: Browse and search items available for swap
- Geo-location Feed: Discover nearby swap offers based on your location
- Swap Requests: Send, receive, and manage swap requests
- In-app Messaging: Chat with other users about swap offers
- Profile Management: View and edit user profiles and swap history
- Real-time sync: Real-time data sync via Firestore
- Responsive UI: Optimized for iOS and Android
| Category | Technology |
|---|---|
| Language | Dart (Flutter) |
| Architecture | Clean Architecture (Data / Domain / Presentation) |
| State Management | Provider |
| Backend | Firebase Auth, Firestore, Cloud Functions |
| Data Models | Freezed (immutable models) + Equatable |
| Serialization | json_serializable + build_runner |
| Location | Geo-location services |
This project follows Clean Architecture:
lib/
├── core/ # Shared utilities, routing, theme
├── features/
│ ├── auth/ # Login / registration
│ ├── feed/ # Home feed + search
│ ├── swap/ # Swap requests + history
│ ├── profile/ # User profile management
│ └── messaging/ # In-app chat
└── data/ # Firebase repositories & DTOs
- Flutter 3.x+ installed (Flutter install guide)
- A Firebase project (Android + iOS apps registered)
-
Clone the repository
git clone https://github.com/bavlymo1/Swap-App-Zone-.git cd Swap-App-Zone- -
Install dependencies
flutter pub get
-
Configure Firebase
- Follow the FlutterFire CLI guide
- Run
flutterfire configureto generatefirebase_options.dart
-
Run code generation
flutter pub run build_runner build --delete-conflicting-outputs
-
Run the app
flutter run
Contributions are welcome! Please open an issue or submit a Pull Request.
This project is open source for learning and demonstration purposes.