Skip to content

isuri54/skill-bridge

Repository files navigation

SkillBridge

SkillBridge is a Flutter-based mobile application designed to connect users for skill-sharing and mentorship. With a clean and intuitive interface, users can engage in real-time chats, manage their profiles with detailed statistics and achievements, and schedule mentorship sessions seamlessly. Built with Firebase for robust backend support, SkillBridge empowers users to collaborate, learn, and grow their skills in a vibrant community.

Features

Chat System: View a list of active conversations, initiate new chats with other users, and stay connected with a sleek messaging interface. User Profiles: Display comprehensive user information, including: Personal details (name, bio, email, mobile). Karma points with a history of contributions. Statistics (sessions mentored, learned, hours mentored, profile creation date). Achievements based on mentorship and skill-sharing milestones. Offered and wanted skills for easy discovery. Schedule Management: Manage mentorship sessions with: A tabbed interface for upcoming schedules and pending requests. Detailed schedule information (skill, time, role as mentor/learner). Options to confirm session completion, accept/decline requests, and delete schedules.

Firebase Integration: Leverages Firebase Authentication for secure user management and Firestore for real-time data storage and retrieval.

Screenshots

Home Screen

Home Screen

Login Screen

Login Screen

Signup Screen

Signup Screen

Chats Home Screen

Chats Home Screen

Chat Screen

Chat Screen

Profile Screen

Profile Screen

Edit Profile Screen

Edit Profile Screen

Mentor Profile Screen

Mentor Profile Screen

Upcoming Schedules Screen

Upcoming Schedules Screen

Schedule Requests Screen

Schedule Requests Screen

Make Schedule Screen

Make Schedule Screen

Skill Selection Screen

Skill Selection Screen

Skill Categories Screen

Skill Categories Screen

Settings Screen

Settings Screen

Getting Started

Prerequisites

Flutter SDK: Version 3.0.0 or higher. Dart: Included with Flutter. Firebase Account: Set up a Firebase project for authentication and Firestore. IDE: Android Studio, VS Code, or any Flutter-compatible IDE. Emulator/Device: For testing the app.

Installation

Clone the Repository: git clone https://github.com/isuri54/skill-bridge.git cd skillbridge

Install Dependencies:Run the following command to install required packages: flutter pub get

Set Up Firebase:

Create a Firebase project at console.firebase.google.com. Enable Firebase Authentication (Email/Password) and Firestore Database. Download the google-services.json (Android) or GoogleService-Info.plist (iOS) and place it in the appropriate directory (android/app/ or ios/Runner/). Update android/build.gradle and android/app/build.gradle with Firebase dependencies as per the FlutterFire documentation.

Configure Assets:Ensure assets (e.g., profile images) are included in pubspec.yaml: flutter: assets: - assets/images/

Run the App:Connect a device or emulator and run: flutter run

Project Structure skillbridge/ ├── lib/ │ ├── screens/ │ │ ├── chatsscreen.dart # Individual chat screen │ │ ├── editprofile.dart # Profile editing screen │ │ ├── mentorprofilescreen.dart # Mentor profile viewing screen │ │ ├── profilescreen.dart # User profile screen with stats and achievements │ │ ├── schedulesscreen.dart # Schedule and request management │ │ └── chatshomescreen.dart # Chat list and new chat initiation │ │ ├── categoryscreen.dart # List of skills │ │ ├── homescreen.dart # Home screen │ │ ├── loginscreen.dart # User login screen │ │ ├── signupscreen.dart # User signup screen │ │ ├── makeschedulescreen.dart # Make schedule and send request │ │ └── skillselectionscreen.dart # Select offered and wanted skills │ │ └── settingsscreen.dart # Settings screen │ │ └── splashscreen.dart # Splash screen │ │ └── bottomnavbar.dart # Bottom navigation bar │ ├── main.dart # App entry point ├── assets/ │ ├── images/ │ │ └── userpng.png # Default profile image ├── pubspec.yaml # Dependencies and assets configuration

Dependencies

flutter: For building the UI. firebase_auth: For user authentication. cloud_firestore: For real-time data storage. get: For state management and navigation. intl: For date and time formatting.

Usage

Sign In: Log in using your email and password via Firebase Authentication. Chats: View all active conversations on the Chats Home Screen. Start a new chat by searching for users and selecting a recipient.

Profile: View your profile details, karma, statistics, achievements, and skills. Edit your profile via the edit button in the app bar.

Schedules: Check upcoming sessions and pending requests in separate tabs. Confirm session completion, accept/decline requests, or delete schedules as needed.

Contributing Contributions are welcome! To contribute:

Fork the repository. Create a feature branch (git checkout -b feature/your-feature). Commit your changes (git commit -m 'Add your feature'). Push to the branch (git push origin feature/your-feature). Open a pull request.

Please ensure your code follows the Flutter style guide and includes relevant tests. License This project is licensed under the MIT License - see the LICENSE file for details. Contact For questions or feedback, reach out via GitHub Issues or email at [your-email@example.com].

About

An application for swap skills, built with flutter + firebase

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors