A peer-to-peer skill exchange platform where users can teach what they know and learn what they need. Built with Flutter for iOS and Android.
SkillSwap connects people who want to exchange skills without monetary transactions. Users earn credits by teaching and spend credits to learn. Whether you're good at Excel, Figma, cooking, or music - there's someone who wants to learn from you!
Tagline: "Teach what you know. Learn what you need."
- 📝 User Authentication - Sign up and login
- 👤 User Profiles - Showcase your skills and interests
- 🔍 Skill Discovery - Browse and search available skills
- 💳 Credit System - Earn credits by teaching, spend to learn
- 💬 In-app Messaging - Connect with skill partners
- 📅 Session Scheduling - Book learning sessions
- ⭐ Ratings & Reviews - Build trust through feedback
- 🎥 Video sessions
- 🏆 Skill badges and certifications
- 👥 Group sessions
- 📊 Learning analytics
- Framework: Flutter 3.0+
- State Management: Provider
- Navigation: go_router
- Backend: [To be implemented]
- Database: [To be implemented]
- Authentication: [To be implemented]
- Flutter SDK (3.0 or higher)
- Dart SDK
- Android Studio or VS Code
- iOS Simulator (Mac only) or Android Emulator
-
Clone the repository
git clone https://github.com/yourusername/skillswap.git cd skillswap -
Install dependencies
flutter pub get
-
Add assets
- Download Inter font from Google Fonts
- Place font files in
assets/fonts/ - Add your images to
assets/images/
-
Run the app
# For debug mode flutter run # Choose your device: # 1 - iOS Simulator # 2 - Android Emulator # 3 - Physical device (if connected)
skillswap/
├── lib/
│ ├── main.dart # App entry point
│ ├── core/ # Core functionality
│ │ ├── constants/ # Colors, strings, styles
│ │ ├── routes/ # Navigation setup
│ │ └── utils/ # Helpers, validators, formatters
│ ├── models/ # Data models
│ ├── providers/ # State management
│ ├── screens/ # All app screens
│ │ ├── auth/ # Login, signup
│ │ ├── explore/ # Home/browse screen
│ │ ├── profile/ # User profile
│ │ ├── sessions/ # Learning sessions
│ │ └── wallet/ # Credits management
│ └── widgets/ # Reusable components
│ ├── buttons/ # Custom buttons
│ ├── inputs/ # Text fields
│ └── common/ # Shared widgets
├── assets/
│ ├── fonts/ # Inter font files
│ ├── images/ # PNG/JPG images
│ └── icons/ # App icons
└── pubspec.yaml # Dependencies
- Primary: Purple
- Secondary: Light Purple
- Background: White/Dark gray
- Text: Dark gray/White
- Font: Inter
- Weights: 300 (Light), 400 (Regular), 500 (Medium), 600 (SemiBold), 700 (Bold)
- Custom buttons with loading states
- Text fields with validation
- Custom app bar with credits display
- Card components with shadows
- Onboarding - First launch introduction
- Authentication - Login/Signup
- Explore - Browse and discover skills
- Sessions - Manage learning sessions
- Wallet - View credits and transactions
- Profile - User profile and settings
- Skill Details - Detailed skill information
- Live Session - Active learning session
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- 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
This project is licensed under the MIT License - see the LICENSE file for details.